unix中如何查看进程是否挂起

问题描述 投票:0回答:3

我正在尝试恢复所有挂起的进程,但我不知道如何检查进程是否挂起。我尝试过,但它没有表明进程是暂停还是运行。

bash unix process
3个回答
8
投票

如果您使用 Linux,您可能会使用 Ipor 的方式 (

/proc/<pid>/status
),但应该与大多数 Unix/Unix 之类的操作系统一起使用的更便携的解决方案是使用标准命令,正如 Barmar 在评论中建议的那样:

ps -o s= -p <pid>

这将显示

T
表示已挂起的进程(如果由于正在调试而停止)。


2
投票

用 pid 检查进程

$pid
很简单:

if grep -q "^State.*stopped" /proc/$pid/status; then
    echo Process $pid is sleeping
else
    echo Process $pid is active
fi

0
投票
ps -s

STAT 列,告诉您相应进程的状态(例如 T 表示进程已停止)

ps -o stat 

如果你知道事情在哪里

© www.soinside.com 2019 - 2024. All rights reserved.