web-dev-qa-db-ja.com

Windowsサービスを停止してもプロセスは強制終了されません(サービスはantを使用します)

srvany.exe実行可能ファイルでinstsrvを使用してセットアップしたWindowsServer 2008R2上のWindowsサービスがあります。 Parametersキーの3つの値は次のように設定されます。

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

サービスは正常に開始され、2つのJavaプロセスが開始時にタスクマネージャーに表示されます(1つのプロセスはantで、もう1つはJava antによって起動されたクラス) 。サービスを停止すると、サービスのステータスが停止に変わりますが、2つのJavaプロセスが消えません。

サービスを停止したときにプロセスを停止するにはどうすればよいですか?

7
user35042

残念ながら、SRVANYは最悪です。 "Non-Sucking Service Manager"(NSSM) という代替手段があります。これにより、サービス停止信号でアプリケーションとすべての子プロセスがシャットダウンされます。

6
the-wabbit

残念ながら、srvany.exeは、サービスが停止したときにプロセスを強制終了する方法を提供していません。したがって、基本的には、(a)この機能を提供するサードパーティの代替手段を探すか、(b)そのようなものを作成するかを選択できます。自分で交換してください。

おそらく別の読者が良いサードパーティの代替案について知っているか、Google検索で幸運になるかもしれません。オプション(b)を選択する場合は、有利なスタートを切ることができる場合がありますので、必要に応じてメールをお送りください。私のアドレスは私のプロフィールに記載されています。または、StackOverflowに質問を投稿することもできます。

2
Harry Johnston

Srvanyにはいくつかのよく知られた欠点があり、そのうちの1つは 開始するプロセスを終了しない です。

SrvanyとAlwaysUpを比較するこのページ (期待どおりにすべてのサブプロセスを閉じる商用アプリケーション)で他の潜在的な問題について必ず読んで、驚きを減らしてください...

1
CoreTech