每次停止时都会启动服务的脚本

我工作的公司有一台监视外部摄像机/监视系统的服务器。 以下过程继续死亡:PureActivvideo处理器。

我的团队必须使用计算机pipe理手动重新启动服务。

任何人都可以提供一个脚本,检查服务,并重新启动服务,如果它没有运行。

以下是所需的信息:

系统:Windows Server 2003 Service Edition Service Pack 2(内部版本3790)服务:PureActivvideo处理器服务位置:“C:\ Program Files \ PureTech Systems \ PureActivDAQServices \ Pure.PureLink.VideoProcessor.VideoProcessorService.exe”

谢谢你,-jm

如果服务启动和终止不当,那么你不需要脚本来做到这一点。

  1. 打开服务控制面板
  2. 右键单击该服务并获取属性
  3. 点击恢复标签,然后编辑设置

编辑:
是的,正如每个人都join的那样,你当然应该检查一下这个服务是怎么回事。 旅游技术专家关于内存泄漏问题提供了一个很好的观点。

我也会检查事件查看器,看看为什么服务崩溃 – 这可能是一个小的修复,或驱动程序更新将永久解决问题。

还有一点:如果进程泄漏内存,并在崩溃时留下分配的内存,则反复重新启动会降低操作系统的稳定性,并增加整个系统尽快耗尽资源的机会。

总之,我的build议是处理这个问题,不要在上面贴上创可贴:)

查看您或您委派的人是否可以定期在计算机上运行Sysinternals Process Explorer,并在运行一天后受到影响。

在services.msc下,获取服务的属性; 应该在那里find可执行文件的名称。 这就是你将在Process Explorer中监视的内容。 在PE中,右键单击可执行文件的名称并获取其属性。 注意内存使用情况

服务崩溃后,请不要立即重新启动。 运行PE,并启动服务。 获取它的属性并在工作几分钟后记下它的内存使用情况。

您可能有一个案例来向车主反馈一个错误的驱动程序。

前面列出的解决方法包括通过“服务”对话框重新启动服务,通过计划的脚本重新启动服务或按计划重新启动计算机,例如每天中午或午夜或可以容忍某些停机时间。

您可以安排这样一个简单的vbs脚本,只在需要时定期重新启动本地计算机上的服务。

 strComputer =“。” 
 strSvcName =“PureActivvideo处理器” 
 set objWMI = GetObject(“winmgmts:\\”&strComputer&“\ root \ cimv2”)
 set objService = objWMI.Get(“Win32_Service.Name ='”&strSvcName&“'”)
如果objService.State =“停止”那么
     objService.StartService()
万一

这个问题已经被问到,请参阅如何自动重新启动Windows服务,如果它崩溃?

希望这可以帮助。

这是一个更普遍的系统健康和监测工具,如ActivExpertsnetworking监视器或更昂贵的(运营经理)或更多的开源(Nagios)等^^的工作

@Oskar甚至可以监控一台服务器 – 甚至可以使用像Service Hawk这样的服务来监控Windows服务,而无需使用如此庞大的监控套件。