Ich möchte einen Dienst starten. Wie überprüfe ich ob er ordnungsgemäß gestartet wurde. Nicht per Maus sondern per Batchaufruf
Ich möchte einen Dienst starten. Wie überprüfe ich ob er ordnungsgemäß gestartet wurde. Nicht per Maus sondern per Batchaufruf. Wenn Dienst korrekt gestartet wurde will ich eine Folgeverarbeitung anstarten. Kann man den Errorlevel auswerten?
Antwort schreiben
Antwort 1 von Yossarian vom 15.10.2021, 14:17 Options
Zitat:
Kann man den Errorlevel auswerten?
Ja. Falls der Befehl, welcher den Dienst startet, einen ordentlichen Rückgabewert liefert. Üblicherweise Level 0 bei Erfolg.
Aber das kannst du ja selbst testen, indem du dir den Errorlevel nach erfolgreicher/nicht erfolgreicher Ausführung anschaust.
echo %errorlevel%
Yossarian
Antwort 2 von Pet7 vom 15.10.2021, 14:21 Options
der Dienst wird mit net start gestartet. wie weiß ich aber ob der Dienst auch wirklich aktiv ist? Danke schonmal.
Antwort 3 von Yossarian vom 15.10.2021, 14:30 Options
Zitat:
wie weiß ich aber ob der Dienst auch wirklich aktiv ist?
"net start Dienstname" gibt bei erfolgreichem Starten des Dienstes den Errorlevel 0 zurück.
Yossarian
Antwort 4 von Yossarian vom 15.10.2021, 14:34 Options
OK, hier noch ein kleiner Einzeiler für Batch-Freunde:
sc start DIENSTNAME & sc query DIENSTNAME | find /i "Running" && echo OK - Der Dienst läuft! || echo Achtung - Dienst läuft nicht!
PS: Statt "echo ..." kann man natürlich auch jeweils ein "goto irgendwohin" machen.
Yossarian
Antwort 5 von son_quatsch vom 15.10.2021, 14:38 Options
...und im Fehlerfall z.B. 2. Probiert mit
net stop dcomlaunch
echo %errorlevel%
oder
net start mnmsrvc
echo %errorlevel%