在Linux系统下面,top命令可以查看查看stopped进程。但是不能查看stopped进程的详细信息。那么如何查看stopped 进程,并且杀掉这些stopped进程呢?
ps -e j | grep T
stopped进程的STAT状态为T,一般而言,进程有下面这些状态码:
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
所以,可以用下面命令ps -A -ostat,ppid,pid,cmd | grep -e ‘^[T]‘ 查看stopped的进程信息,进而使用kill命令将进程完全杀死。如下所示:
# ps -A -ostat,ppid,pid,cmd | grep -e '^[T]'
T 6777 8635 more alert_pps.log
T 6777 9654 tail -60f alert_pps.log
T 6777 10724 top
# kill -9 8635
# ps -A -ostat,ppid,pid,cmd | grep -e '^[T]'
T 6777 9654 tail -60f alert_pps.log
T 6777 10724 top
# kill -9 9654
# kill -9 10724