我正在尝试恢复所有挂起的进程,但我不知道如何检查进程是否挂起。我尝试过,但它没有表明进程是暂停还是运行。
如果您使用 Linux,您可能会使用 Ipor 的方式 (
/proc/<pid>/status
),但应该与大多数 Unix/Unix 之类的操作系统一起使用的更便携的解决方案是使用标准命令,正如 Barmar 在评论中建议的那样:
ps -o s= -p <pid>
这将显示
T
表示已挂起的进程(如果由于正在调试而停止)。
用 pid 检查进程
$pid
很简单:
if grep -q "^State.*stopped" /proc/$pid/status; then
echo Process $pid is sleeping
else
echo Process $pid is active
fi
ps -s
STAT 列,告诉您相应进程的状态(例如 T 表示进程已停止)
或
ps -o stat
如果你知道事情在哪里