C#实现按进程名检测程序挂起/冻结/休眠并自动终止的方法
待实现功能
持续监控目标exe程序或其对应窗体的运行状态,一旦检测到程序出现冻结、挂起、休眠情况,自动退出自研的、用于和自有服务器通信的窗体程序。
当前进展
- 已完成窗体通信程序基础开发,借助Process Hacker工具可实现对目标exe程序的挂起操作,效果如下:

- 已检索大量相关资料,未找到可落地的实现方案。
- 目前仅获取到基于进程ID检测进程挂起状态的参考代码,需改造为按进程名称匹配检测的逻辑,原参考代码如下:
Process proc = Process.GetProcessById(8175); if(proc.Threads[0].WaitReason == ThreadWaitReason.Suspended) { MessageBox.Show("Process is suspend !"); // 识别到进程处于挂起状态 }
内容的提问来源于stack exchange,提问作者Dona
相关产品推荐
相关产品推荐

