子进程被杀死时重新启动srvany

时间:2013-10-09 21:36:45

标签: windows service console registry srvany

我创建了一个服务,它是一个通过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"

它已正确创建,如果我使用srvany杀死taskmgr,则会重新启动。但是当我杀死testserv时,srvany一直在运行,有效地破坏了我立即重启的计划。

{Child}有一个(控制台或注册表)密钥,当其子进程被杀死时,它会退出吗?如果没有,是否还有其他简单方法可以完成此任务(没有writing a service)?

2 个答案:

答案 0 :(得分:2)

虽然srvany很乐意将您的应用程序作为服务启动,但它不会以任何方式监视生成的进程以实现您的目标。我们有一个名为AlwaysUp的竞争软件; read more关于srvany在那里的缺点。

答案 1 :(得分:2)

CoreTech的答案中的文章来自AlwaysUp,它本身就是一个付费应用程序。如果您正在寻找监控子流程的免费替代方案,请尝试NSSM