当subprocess死亡时重新启动srvany

我创build了一个服务,这是一个简单的控制台应用程序通过srvany.exe运行。 它被设置为在被销毁时立即重新启动。 这是脚本:

 sc delete "Test Service" sc create "Test Service" binpath= "C:\Windows\System32\srvany.exe" start= auto sc failure "Test Service" reset= 86400 actions= restart/0 sc description "Test Service" Blah reg add "HKLM\SYSTEM\CurrentControlSet\Services\Test Service\Parameters" /v Application /d "C:\<path>\testserv.exe" sc start "Test Service" 

它正确创build,并重新启动,如果我用taskmgr杀死srvany 。 但是当我杀死testservsrvany一直在运行,实际上毁了我立即重启的计划。

有没有(无论是控制台或registrysrvany退出时,其subprocess被杀害? 如果没有,有没有其他简单的方法来完成这项任务(无需编写服务 )?

虽然srvany很乐意将您的应用程序作为服务启动,但它不会以任何方式监控产生的进程,以达到您想要的效果。 更多关于srvany在这里的缺点 。

CoreTech的答案中的文章是从AlwaysUp本身是一个付费应用程序。 如果您正在寻找一个可以监视子进程的免费替代方法,请尝试NSSM 。