我创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
。 但是当我杀死testserv
, srvany
一直在运行,实际上毁了我立即重启的计划。
有没有(无论是控制台或registry) srvany
退出时,其subprocess被杀害? 如果没有,有没有其他简单的方法来完成这项任务(无需编写服务 )?
虽然srvany很乐意将您的应用程序作为服务启动,但它不会以任何方式监控产生的进程,以达到您想要的效果。 更多关于srvany在这里的缺点 。
CoreTech的答案中的文章是从AlwaysUp本身是一个付费应用程序。 如果您正在寻找一个可以监视子进程的免费替代方法,请尝试NSSM 。