关闭。此问题不符合堆栈溢出准则。它目前不接受答案。
<hr class=“my12大纲无baw0 bb bc-POWER-400”/
想改进此问题吗?更新问题,使其成为堆栈溢出的主题。
已于5年前关闭
改进这个问题
Linux中是否有任何命令可以让我知道进程是否处于挂起状态
Linux中是否有任何命令可以让我知道进程是否处于挂起状态
没有命令,但有一次我不得不做一个非常愚蠢的黑客来完成类似的事情
- 运行
ps查找监视进程的PID列表(以及执行时间等) - 在PIDs上循环
- 启动
gdb使用其PID附加到进程,使用线程apply all where从中转储堆栈跟踪,从进程分离 - 在以下情况下,进程被宣布挂起:
- 经过3次检查,其堆栈跟踪没有改变,时间也没有改变
- 它的堆栈跟踪没有改变,经过3次检查,时间显示CPU负载为100%
- 挂起的进程被终止,以便监视应用程序有机会重新启动挂起的实例
但是,这是一个非常粗糙的黑客行为,为了达到一个即将错过的最后期限,它被删除了几天后,一个错误的应用程序修复程序最终安装
否则,正如所有其他响应者绝对正确地评论的那样,无法确定进程是否挂起:这仅仅是因为挂起可能由于多种原因而发生,通常与应用程序逻辑有关
唯一的方法是应用程序本身能够指示它是否处于活动状态。最简单的方法可能是,例如,周期性日志消息“我处于活动状态”