instsrv
我在 Windows Server 2008 R2 上有一个 Windows 服务,我使用它在可执行文件中进行设置srvany.exe
。密钥中的三个值Parameters
设置如下:
AppDirectory C:\selenium-grid
Application C:\ant\bin\ant.bat
AppParameters launch-hub
服务启动正常,启动时任务管理器中出现两个 Java 进程(一个进程是 ant,另一个是 ant 启动的 Java 类)。当我停止服务时,服务状态变为已停止,但两个 Java 进程没有消失。
当我停止服务时,如何让进程停止?
答案1
不幸的是,SRVANY 很糟糕。还有一个替代方案,那就是“非吸吮服务经理” (NSSM)- 它将在服务停止信号上关闭您的应用程序和所有子进程。
答案2
不幸的是,srvany.exe 没有提供在服务停止时终止进程的任何方法,因此基本上您的选择是(a)寻找提供此功能的第三方替代方案或(b)自己编写这样的替代方案。
也许其他读者知道一个好的第三方替代方案,或者你可能幸运地通过 Google 搜索找到答案。如果你决定选择选项 (b),我可能会给你一个先机,所以如果你愿意的话,可以给我发电子邮件 - 我的地址在我的个人资料中。或者你可以向 StackOverflow 发帖提问。
答案3
Srvany 有一些众所周知的缺点,其中之一是不终止它启动的进程。
请务必阅读有关其他潜在问题此页将 Srvany 与 AlwaysUp 进行比较(我们的商业应用程序将按照您的期望关闭所有子流程)以减少意外......