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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
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
9 Kommentare
Neuester Kommentar
@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.
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.
also mit sc wird das definitiv nicht funktionieren.
aber einen hab ich noch: (und zwar auf die schnelle geklaut... )
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
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
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
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
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