如何重新启动windows服务自动与5秒,如果它是停止手动?[关闭]

vmdwslir  于 2023-03-09  发布在  Windows
关注(0)|答案(3)|浏览(314)
    • 已关闭**。此问题为opinion-based。当前不接受答案。
    • 想要改进此问题吗?**请更新此问题,以便editing this post可以用事实和引文来回答。

7小时前关闭。
Improve this question
我有一个Windows服务,应该在客户端系统上24 * 7运行(本地服务器系统)。如果客户端试图手动停止服务,我如何在5 - 10秒内调用服务?我已经将启动类型设置为自动。但是,此功能只有在系统重新启动时才起作用。
如果是手动停止,则需要在5 - 10秒内自动重新启动服务。

smdnsysy

smdnsysy1#

您可以设置Windows任务计划程序来检查服务的状态,并在服务停止时重新启动。步骤如下:
1.按Windows键+R,键入"taskschd.msc"并按Enter键,打开任务计划程序。
1.单击右侧窗格中的"Create Task"(创建任务)。
1.将任务命名为类似"服务重新启动"的名称。
1.在"常规"选项卡下,确保选中"无论用户是否登录都运行"。
1.在"触发器"选项卡下,单击"新建",然后使用以下设置设置触发器以启动任务"发生事件时":

  • 日志:系统
  • 来源:服务控制经理
  • 事件编号:7036
  • 延迟:5秒(或任何您喜欢的延迟)

1.在"操作"选项卡下,单击"新建"并设置操作以运行以下命令:

  • 程序/脚本:"命令. exe"
  • 添加参数:"/c net start "imp:替换为要重新启动的服务名。 <service_name>" imp: Replace <service_name> with the service name you want to restart.

1.在"条件"选项卡下,取消选中所有复选框。
在"设置"选项卡下,选择"允许任务按需运行"和"错过预定启动后尽快运行任务"。
单击"确定"保存任务。
现在,当手动停止服务时,它将在Windows事件查看器中触发一个事件,该事件又将触发您刚创建的任务。然后,该任务将等待指定的延迟并尝试启动服务。

krcsximq

krcsximq2#

  • 选项A:

编写另一个服务,该服务将定期监视该服务,如果该服务已停止,则启动它。

  • 备选方案B:

编写一个脚本/应用程序,用于监视该服务并启动它(如果它已停止),然后从任务计划程序定期运行该脚本/应用程序

ej83mcc0

ej83mcc03#

尝试使用windows task scheduler。当服务将使用EventLog.WriteEntry停止时,您可以写入一个windows日志条目。此日志条目可用作调度程序中的触发器,并使用NET START命令再次启动服务。

相关问题