进程有下面这些状态码:
D uninterruptible sleep (usually IO)
I Idle kernel thread
R running or runnable (on run queue)
S interruptible sleep (waiting for an event to complete)
T stopped by job control signal
t stopped by debugger during the tracing
W paging (not valid since the 2.6.xx kernel)
X dead (should never be seen)
Z defunct ("zombie") process, terminated but not reaped by its parent for BSD formats and when the stat keyword is used, additional
rs may be displayed:
< high-priority (not nice to other users)
N low-priority (nice to other users)
L has pages locked into memory (for real-time and custom IO)
s is a session leader
l is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
+ is in the foreground process group
上面看起来了太烦,总结一下。一般较常见的是5种状态码:
D 不可中断 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 中断 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process
所以,可以用下面命令,查看stopped的进程信息。如下所示:
# ps -A -ostat,ppid,pid,cmd | grep -e '^[T]'
在Linux系统下面,top命令可以查看查看stopped进程。但是不能查看stopped进程的详细信息。那么如何查看stopped 进程,并且杀掉这些stopped进程呢?
ps -e j | grep T
stopped进程的STAT状态为T,找到pid,执行kill pid 即可杀死stopped进程。
这篇文章还没有评论