【问题标题】:How to restart a windows service using Task Scheduler如何使用任务计划程序重新启动 Windows 服务
【发布时间】:2016-07-18 11:49:58
【问题描述】:

最简单的方法是创建一个批处理文件:

NET stop <service name>
NET start <service name>

创建并测试批处理文件后,将其添加到 Windows 任务计划程序并以特定时间间隔运行它。这里的问题是,当 bat 文件丢失或损坏时,服务不会重新启动。那么,还有其他方法可以在特定时间间隔重新启动服务吗?

【问题讨论】:

    标签: windows service scheduled-tasks


    【解决方案1】:

    您可以简单地创建计划任务,而不是使用 bat 文件。大多数时候你只定义一个动作。在这种情况下,使用NET 命令创建两个操作。第一个停止服务,第二个启动服务。给他们一个STOPSTART 参数,后跟服务名称。

    在本例中,我们重新启动 Printer Spooler 服务。

    NET STOP "Print Spooler" 
    NET START "Print Spooler"
    

    注意:很遗憾,NET RESTART &lt;service name&gt; 不存在。

    【讨论】:

    • 很好的提示!根据服务的不同,我有时会在停止和启动之间添加一个timeout /T 3(其中 3 是秒数)。
    • 仅供参考,“Print Spooler”的服务名称只是“Spooler”。 “Print Spooler”是显示名称。
    • @NateJ timeout 似乎没有任何影响。我尝试了从 10 到高达 120 的间隔,并且重启仍然是即时的。我怀疑它是并行运行的,并且启动只是顺序的,因为它是由服务停止排队的。
    • 好提示@Kurt Van den Branden! @NateJ 你的超时提示同样适用于我在 Win2016 服务器上。为了安全起见,我添加了timeout /T 3 /NOBREAK
    • 您也可以使用单个操作,例如powershell -command "Restart-Service Spooler"
    猜你喜欢
    • 2016-01-16
    • 1970-01-01
    • 2020-12-02
    • 1970-01-01
    • 2015-07-31
    • 2017-07-06
    • 1970-01-01
    • 2012-06-05
    • 1970-01-01
    相关资源
    最近更新 更多