Autohotkey 脚本在特定时间重新启动服务

Autohotkey 脚本在特定时间重新启动服务

我工作场所的 PC 安装了 Chrome 远程桌面,让我可以在家远程工作。有时程序会失败,需要我手动重启服务才能使其再次运行(任务管理器 -> 服务 -> 右键单击​​服务 -> 重启)。

显然,互联网上很多 Autohotkey 指南都是关于重新启动 exe 程序而不是服务。我想知道是否有办法将其制作成脚本并允许 Autohotkey 自动终止服务并在每天早上 8 点重新启动它?

答案1

您是否尝试过设置服务的恢复设置,以便在发生故障时重新启动服务?我可以想象这样一种情况,即它可能无法正常工作,但如果 Windows 检测到服务已发生故障,它可以自动重新启动它,而无需单独的看门狗。

在 Windows 7 中,您可以按如下方式打开服务列表:

  • 控制面板 > 管理工具 > 服务
  • 或者直接在运行对话框中运行“services.msc”

一旦服务列表处于活动状态,找到感兴趣的项目并打开该服务的属性。

在顶部的选项卡上,选择恢复。

对于恢复选项,您可以将第一次、第二次和后续故障的所有 3 个下拉菜单设置为“重新启动服务”

答案2

也尝试这个(以管理员身份运行脚本):

; Replace "Service name" with the service name you want restart. 
; Make sure that you are using the correct service name 
; shown in the properties for that service (not the Display name).

#Persistent
SetTimer, restart_Service, 10000
return

        restart_Service:
    time = %A_Hour%%A_Min%
    If (time = 0800)
    {    
        SetTimer, restart_Service, off
        ; Stop the service
        RunWait, %comspec% /c "net stop Service name",, Hide 
        Sleep, 10000  ; Wait 10 seconds for the service to stopp (Just to be sure)
        ; Start the service 
        RunWait, %comspec% /c "net start Service name",, Hide 
        Sleep, 700000  ; sleep the rest of the 08:00 time.
        SetTimer, restart_Service, on
    }
    return

相关内容