定义程序的“不响应”行为

时间:2012-12-04 07:57:19

标签: android linux windows

我需要编写一个应用程序来持续监视系统/应用程序的行为,并标记出根本没有“响应”的进程。

我在Windows上的意思是这样的:

enter image description here

在Android上

或类似这样:

enter image description here

有人可以帮我定义这种“挂起”或“没有响应”的行为,以便我可以编写一个应用程序来监控这些参数。

我只想到一个参数:

持续监控每个应用程序的处理器使用情况,并将它们标记为没有响应,如果它们在某些'y'时间内消耗的CPU超过'x'%。

平台:Linux / Android / Windows

2 个答案:

答案 0 :(得分:1)

我们在企业中有一些活跃的流程,有时由于长时间运行或内存问题,他们关闭而不会引发异常。他们只是死了。

我们在这个应用程序中实现了一个类,它将自己的进程活动记录到文件或数据库表中。

我们使用另一个观察者监视器在X分钟内获取此记录的数据事件,因此如果超过X分钟已经过去且没有记录的数据,则该过程无法正常工作。

我们使用psexec远程终止进程并再次启动它。

答案 1 :(得分:1)

你需要像看门狗这样的东西。应用程序必须定期执行一些预定义的活动,您只需定期检查它是否执行此活动。或者你向它必须回答的应用程序发送某种请求。

在某些'y'时间内消耗'x'%CPU以上无响应无关。应用程序可能占用大量CPU但仍响应系统或用户事件。同样,应用程序根本不使用CPU,因为它等待输入,并且在此期间不响应任何其他请求。