我在Windows Server 2008 R2上有一个Windows服务,我使用srvany.exe可执行文件上的instsrv进行设置。 Parameters键中的三个值设置如下:
AppDirectory C:\selenium-grid Application C:\ant\bin\ant.bat AppParameters launch-hub
服务启动正常,两个Java进程在启动时出现在任务pipe理器中(一个进程是ant,另一个是由ant启动的Java类)。 当我停止服务时,服务的状态更改为停止,但两个Java进程不会消失。
当我停止服务时,如何让stream程停止?
不幸的是,SRVANY很糟糕。 有一个替代scheme是“非吸入式服务pipe理器”(NSSM) – 它将closures您的应用程序和所有subprocess的服务停止信号。
不幸的是,当服务停止时,srvany.exe没有提供任何杀死进程的方法,所以基本上你的select是(a)寻找提供这种function的第三方select,或者(b)写这样的一个替代你自己。
也许另一位读者知道一个很好的第三方的select,或者你可能会幸运的谷歌search。 如果你决定select(b),我可能会给你一个开始,所以给我一个电子邮件,如果你喜欢 – 我的地址是在我的个人资料。 或者你可以发布一个问题到StackOverflow。
Srvany有一些众所周知的缺点,其中之一并没有终止它开始的过程 。
请务必阅读本页面上的其他潜在问题, 比较Srvany与AlwaysUp (我们的商业应用程序将按照您的预期closures所有子stream程),以减less惊喜。