我创建了一个服务,它是一个通过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
会继续运行,实际上会破坏我立即重启的计划。当其子进程被终止时,
srvany
是否有退出的(控制台或注册表)键?如果没有,有没有其他简单的方法来完成这项任务(没有writing a service)? 最佳答案
虽然srvany很乐意将您的应用程序作为服务启动,但它不会以任何方式监视生成的进程来实现您想要的。我们有一个叫做alwaysup的竞争软件;read more关于srvany在那里的缺点。