Durch das Stoppen des Windows-Dienstes werden keine Prozesse abgebrochen (der Dienst verwendet ant).

7

Ich habe einen Windows-Dienst unter Windows Server 2008 R2, den ich mit instsrvder srvany.exeausführbaren Datei eingerichtet habe. Die drei Werte im ParametersSchlüssel werden wie folgt eingestellt:

AppDirectory  C:\selenium-grid
Application   C:\ant\bin\ant.bat
AppParameters launch-hub

Der Dienst wird ordnungsgemäß gestartet und beim Starten werden zwei Java-Prozesse im Task-Manager angezeigt (ein Prozess ist ant und der andere ist eine von ant gestartete Java-Klasse). Wenn ich den Dienst beende, ändert sich der Status des Dienstes in gestoppt, aber die beiden Java-Prozesse verschwinden nicht.

Wie kann ich die Prozesse stoppen, wenn ich den Dienst beende?

user35042
quelle
Was ist in ant.bat, wenn es mehr als eine Exe gibt, die das Problem sein kann?
Tony Roth
1
Ist dies eine Installation des Dienstes srvany.exe?
Harry Johnston
Ja, die Dienstinstallation verwendet srvany.exe. Ich habe diese Klarstellung zu der Frage hinzugefügt.
user35042
Ein Prozess ist ant selbst, während der andere eine von ant gestartete Java-Klasse ist. (Die Frage wurde aktualisiert, um dies zu klären.)
user35042

Antworten:

2

Leider bietet srvany.exe keine Methode zum Beenden der Prozesse, wenn der Dienst gestoppt wird. Grundsätzlich können Sie also (a) nach einer Alternative eines Drittanbieters suchen, die diese Funktionalität bietet, oder (b) eine solche schreiben ein Ersatz selbst.

Vielleicht kennt ein anderer Leser eine gute Alternative von Drittanbietern, oder Sie haben Glück mit einer Google-Suche. Wenn Sie sich für Option (b) entscheiden, kann ich Ihnen möglicherweise einen Vorsprung verschaffen. Schreiben Sie mir eine E-Mail, wenn Sie möchten - meine Adresse befindet sich in meinem Profil. Oder Sie können eine Frage an StackOverflow senden.

Harry Johnston
quelle