我有一个讨厌的软件服务,每几周就会失败。 它有两个组成部分。 服务A和服务B.服务B处于奇怪的状态,并停止接受来自服务A的连接。唯一的出路是手动重启这两个服务,或重启服务器。
我想定期为A和B安排服务重启。 每24小时说一次。 如何去呢?
根据评论中的build议,我最终创build了一个batch file,其中包含超时正确的重启序列。 超时是必要的,因为服务之间的依赖关系。 我预定它在每天凌晨4点使用任务调度程序以pipe理员身份运行。
net stop "Service B" net stop "Service A" timeout /T 10 net start "Service B" timeout /T 10 net start "Service A"
这并不理想,但是对于这种情况也是如此 – 远程桌面部署less于10个用户。
而不是创build一个可能损坏或丢失的bat文件,您可以创build一个具有多个操作的计划任务。 一个动作停止服务,另一个重新启动服务。 两者都使用NET命令执行。 给他们一个STOP和START的参数,后面是服务名称。
NET STOP "Service A" NET START "Service A"
这里有一篇关于StackOverflow的文章。
你可以做一个蝙蝠文件,并在蝙蝠内尝试这样的事情:
net stop {serviceName}&net start {serviceName}
并使用bat文件作为计划任务的程序。
净停止“ServiceName”&&净启动“ServiceName”
而且你可以链接在一起&&停止/启动服务B
净停止“ServiceA”&&净启动“ServiceA”&&净停止“ServiceB”&&净启动“ServiceB”