代码改变世界

Linux查杀stopped进程

2018-07-02 16:33  潇湘隐者  阅读(10952)  评论(0编辑  收藏  举报

 

在Linux系统下面,top命令可以查看查看stopped进程。但是不能查看stopped进程的详细信息。那么如何查看stopped 进程,并且杀掉这些stopped进程呢?

 

 ps -e j | grep T 

 

clip_image001

 

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的进程信息。如下所示:

 

#  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