Jay*_*nek 5 python windows winapi pywin32
我有一个运行一些昂贵设备的Windows应用程序; 这个应用程序以各种创造性方式死亡.通常情况下,过程完全消失.我编写了一个小程序监控程序,该程序在当前正在运行的事物列表中查找进程的名称,这对于那些失败非常有用.但有时它只是变得完全没有响应,需要通过任务管理器终止,但仍然在某种无益的意义上"运行".
我对Windows API完全不熟悉,所以这可能相当长,但是我能做些什么来以编程方式检查其他进程的"活跃性"吗?或者我可能会用它做猜测?(看着它停止处理来自操作系统的事件,或者所有磁盘访问/内存分配停止等等)
最好是我可以通过Python win32模块做的事情,但我会分支到任何可以成功检测到这个东西锁定的东西.并且,我意识到"活泼"是模糊的,但我不想排除任何东西,特别是当我对这件事真的失败没有任何见解时.
我认为解决此问题的最佳方法是使用WIN32 API 中的进程和线程函数。注意:您可以轻松地将 C++ 代码嵌入到 python 中。这可能需要一些时间和耐心,而且我自己并不了解其中的大部分功能。
另一方面,Codeproject 和Python WMI上有一个关于进程监控的详细项目,Python WMI 是 Python 中 WMI 的包装器,但请记住 WMI 相当慢,您必须确保该服务正在 PC 上运行。
您也可以向进程发送一条消息,该消息将导致进程提供回复或更改其状态(如果它还处于活动状态),然后在进程中检查此更改一段时间。
| 归档时间: |
|
| 查看次数: |
316 次 |
| 最近记录: |