【问题标题】:Check status of process and restart process if unresponsive/stopped - Python检查进程状态并在无响应/停止时重新启动进程 - Python
【发布时间】:2011-10-24 21:00:00
【问题描述】:

我正在尝试在 Windows Server 2008 上构建一个小型进程监控脚本。

脚本会:

  • 找到目标进程
  • 检查状态(运行/无响应/停止)
  • 如果无响应/停止,则终止并重新启动进程

对实现此功能的最佳方式有何建议?

【问题讨论】:

  • 你看pywin32了吗?有什么事吗?
  • 如何知道进程是否无响应? Windows 是否公开该信息? Windows 甚至知道这些信息吗?

标签: python windows process windows-services operating-system


【解决方案1】:

将进程命名为“无响应”是非常主观的。它可能正在等待数据并且似乎没有响应,或者它可能处于(无休止的)循环中并且似乎没有响应。

通常,人们所做的是实现 hartbeat。也就是说 - 在进程中有一个非常小的套接字服务器,其他进程可以连接并发送ping消息,它回复pong。监控工具通常做的是定期 ping 进程,如果它在超时内没有响应 - 它被认为是无响应的(通常会被杀死)。

【讨论】:

  • 非常感谢@Emil 非常有用!
  • 嗨,Emil,我是这样实现的!它工作得很好:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-23
  • 2013-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-17
  • 1970-01-01
相关资源
最近更新 更多