如何查殺stopped程序
阿新 • • 發佈:2019-03-30
在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