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

4

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

这个程序已经正确创建,如果我用 taskmgr 杀掉 srvany ,它会自动重新启动。但是当我杀掉 testserv 时,srvany 仍然在运行,这有效地破坏了我的立即重启计划。

是否有(无论是控制台还是注册表)键可让 srvany 在其子进程被终止时退出? 如果没有,是否还有其他简单的方法来完成此任务(而不必编写服务程序)?

2个回答

2
CoreTech的回答中提到的文章来自AlwaysUp,而AlwaysUp本身是一款付费应用程序。如果您正在寻找一个免费的替代方案来监视子进程,请尝试NSSM。

2

虽然srvany可以将您的应用程序作为服务启动,但它不会以任何方式监视生成的进程以实现您想要的功能。我们有一个竞争软件叫做AlwaysUp; 在这里阅读更多关于srvany的缺点。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接