【发布时间】:2014-02-04 08:43:40
【问题描述】:
我想知道一个进程(以 QProcess 类开始)是否不再响应。例如,我的进程是一个每秒只打印 1 个的应用程序。
我的问题是我想知道(出于某种神秘原因)该进程是否被阻塞了一小段时间(超过 1 秒,这是人类可以注意到的)。
但是,QProcess 的不同状态(未运行、启动、运行)不包括“阻塞”状态。
当我们在任务管理器中收到“无响应”消息时,我的意思是被阻止为“不响应操作系统”。例如当 Windows MMI(如 explorer.exe)被阻止并变成白色时。
但是:我想检测任何进程的“无响应”状态。不仅仅是 MMI。
有没有办法检测到这种状态?
【问题讨论】:
-
进程是否应该将数据写入标准输出\error?
-
可能是“阻塞” - 是平台相关状态。而且它在大多数 Qt 的顶级平台上都不存在。您能否更准确地解释一下“被阻止”是什么意思?