hobbystern
Goto Top

per BATCH Programm starten und d. Result (zBEXIT) abwarten

Ich muss ein Programm am leben erhalten welches von den Nutzern in einer Abteilung laufend ausversehen geschlossen wird.

Hallo,

ich suche eine Möglichkeit ein Programm (hier einen Hylafax Klienten) am Leben zu erhalten, wenn er geschlossen wird möchte ich das er neu gestartet wird.

Das Problem ist - in einer Abtlg. wird dieser HylafaxKlient (eine GUI, welche sich in die Taskleiste als Symbol verzieht) laufend geschlossen, in folge dessen werden die Mitarbeiter dort nicht mehr über dringend erhaltene Faxe informiert.

Ich würde das ganze eigentlich über BATCH lösen, eine BAT die das Programm in einer Schleife startet und den Exit Code auswertet oder einfach nur direkt neu startet. Meine letzte Berührung mit der Windows Batch ist allerdings noch vor Win98 gewesen ;)

Hat jemand eine Hilfestellung ?

Im vorab ein dickes Danke - ich bin eigentlich nur noch unter Unix unterwegs..

Grüsse, Stefan

Content-ID: 65908

Url: https://administrator.de/forum/per-batch-programm-starten-und-d-result-zbexit-abwarten-65908.html

Ausgedruckt am: 23.12.2024 um 05:12 Uhr

Kosh
Kosh 10.08.2007 um 12:29:29 Uhr
Goto Top
@echo off
cls
title Application Watchdog
:appstart
echo %date% - %time% : Programm wird gestartet...
start /wait "Application Watchdog" "c:\applicationpath\app.exe"
echo %date% - %time% : Programm wurde geschlossen bzw. ist abgestürzt...
goto appstart

wenn du damit deine anwendung startest, wird genau das erreicht was du willst.
Hobbystern
Hobbystern 10.08.2007 um 12:43:19 Uhr
Goto Top
Ein dickes DANKE für eine Komplettlösung !

Klappt einwandfrei uns ist integriert - wie würdest Du das ganze im BG laufen lassen, per "/min" wird es ja lediglich minimiert, kann man in XP die gleichen Funktionen, die ich noch aus NT 4 kenne, nutzen (IMHO war das "instserv" um einen Dienst zu erstellen..)

Nochmals - um es nicht zu übersehen : DANKE : (!)

Grüsse, Stefan
Kosh
Kosh 10.08.2007 um 15:08:46 Uhr
Goto Top
face-smile

als erstes freuts mich mal das die die lösung zusagt.
zum ausblenden:
ich kenne keinen weg das dos-fenster auszublenden.
vielleicht lässt sich das script ja in wsh oder vbs ummünzen.
dann ließe sich das machen.
hab aber leider keine ahnung wie ;)

grüsse

Kosh
Hobbystern
Hobbystern 10.08.2007 um 19:38:31 Uhr
Goto Top
Hi Kosh,

so - ich habe einen Weg gefunden und möchte den hier auch nicht vorenthalten, man kann das ganze an Dienst mittels "sc" anlegen - in meinem Fall lautet die Syntax zB (aus dem Stehgreif) so :

sc create HylaStartDienst binpath= c:\datei.bat start= auto type= own displayname= HylafaxStartDienst

Mehr dazu gibt es hier.

Ich finde es sehr gut das Du mir so schnell und nett geholfen hast - ich als alter Microsoft-Skeptiker bin da anscheinend sehr drauf angewiesen, Danke nochmals und ein ruhiges WE !

EDIT : So ganz scheint sich das ganze nicht aktivieren zu lassen (Start Steuierungsanforderungsprobleme..)

Grüsse, Stefan
Kosh
Kosh 11.08.2007 um 02:57:46 Uhr
Goto Top
also mit sc wird das definitiv nicht funktionieren.

aber einen hab ich noch: (und zwar auf die schnelle geklaut... )

sProcessName = "meineapplikation.exe"  

sComputer = "."     
Set oWmi = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & sComputer & "\root\cimv2")  

Set oShell = CreateObject("WScript.Shell")  

Do
  Set colProcessList = oWmi.ExecQuery("Select * from Win32_Process Where Name = '" & sProcessName & "'")  

  If colProcessList.Count = 0 Then
     oShell.Run "C:\pfad\meineapplikation.exe", 1, False  
   End If

  WScript.Sleep 5 * 60 * 1000   ' 5 Minuten Wartezeit  
Loop
das ganze speichere als .vbs datei.

dieses skript ruft alle 5 min. ab ob der prozess "meineapplikation.exe" läuft.
tut er das nicht, wird er gestartet.

dir nun auch ein schönes WE

grüsse

Kosh
Hobbystern
Hobbystern 13.08.2007 um 10:43:37 Uhr
Goto Top
Hi Kosh,

Du machst Dich sehr beliebt ;) (!)

Das ganze funktioniert und dafür ein dickes DANKE ! Ich hoffe das WE war auch bei Dir so wie das Wetter (wunderbar) face-smile

Eine Frage noch - wie würdest Du das ganze unter Windows wiederholen, Lynux besitzt cron, Windows den Taskplaner, der aber kann ja eher nur terminierte oder tägliche/wö/monatliche Pläne ausführen...

Nochmals ganz deutlich : DANKE

Grüsse, Stefan
Kosh
Kosh 13.08.2007 um 10:49:07 Uhr
Goto Top
das script wiederholt sich selbsständig.

nimm einfach bei den clients das faxprogramm aus dem autostart raus.
dann ändere das skript deinem programm entsprechend.

dann einfach das script in den autostart oder per gruppenrichtlinie in den client.
das wars schon.

der rechner fährt hoch...
das script überprüft ob die faxsoftware läuft...
tuts natürlich nicht also wir die sw gestartet...
dann geht der scriptprozess für 5 minuten in den sleep modus....
nach 5 minuten kommt er wieder und guckt ob fax noch läuft...
wenn ja -> 5 min sleep
wenn nein -> fax wird gestartet ... -> 5 min sleep

undsoweiter......

/edit: ich denke ich werd das mal unter anleitungen stellen face-smile
Kosh
Kosh 13.08.2007, aktualisiert am 18.10.2012 um 18:32:18 Uhr
Goto Top
und hier ist sie auch schon:

Application Watchdog selbst gemacht mit WSH
Hobbystern
Hobbystern 13.08.2007 um 11:10:48 Uhr
Goto Top
:lach: Alles klar - mein Fehler - ich hatte die Schleife übersehen (uups) ..

natürlich klappt das so - und die Anleitung ist auch sehr schick ;)

Ich würde sagen wir machen nun hier zu und Du weisst das ich Dir dankbar bin.

Grüsse, Stefan