检查进程状态并在无响应/停止时重启进程 - Python

0 投票
1 回答
1751 浏览
提问于 2025-04-16 23:22

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

这个脚本的功能是:

  • 找到目标进程
  • 检查进程状态(运行中/无响应/已停止)
  • 如果进程无响应或已停止,就结束它并重新启动

有没有什么好的建议来实现这个功能?

1 个回答

1

把一个进程称为“无响应”其实是个主观的说法。这个进程可能在等数据,所以看起来没有反应,或者它可能在一个(无尽的)循环中,也让人觉得没有反应。

通常,人们会实现一种叫做心跳的机制。简单来说,就是在进程里放一个非常小的服务器,其他进程可以连接上去,发送ping消息,进程会回复pong。监控工具通常会定期给这个进程发送ping消息,如果它在规定时间内没有回应,就会被认为是无响应(通常会被强制关闭)。

撰写回答