killall 命令, 很有用的(轉)

(轉載)

原文地址:http://361324767.blog.163.com/blog/static/11490252520125412637424/

 

用途說明

killall命令用於殺死指定名字的進程(kill processes by name)。我們可以使用kill命令殺死指定進程PID的進程,如果要找到我們需要殺死的進程,我們還需要在之前使用ps等命令再配合grep來查找進程,而killall把這兩個過程合二爲一,這真是一個太好用的命令了。


常用參數

格式:killall <command-name>

殺死指定名字的進程。實際上是向名字爲<command-name>的所有進程發送SIGTERM信號,如果這些進程沒有捕獲這個信號,那麼這些進程就會直接被幹掉了。

格式:killall -<signame> <command-name>

格式:killall -<signum> <command-name>

發送指定的信號到名字爲<command-name>的所有進程。指定的信號可以是名稱<signame>,也可以是信號對應的數字<signum>。下面是常用的信號:第一列爲<signame>,第二列爲<signum>,第三列爲信號的含義。

HUP 1 終端斷線
INT 2 中斷(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 終止
KILL 9 強制終止
CONT 18 繼續(與STOP相反, fg/bg命令)
STOP 19 暫停(同 Ctrl + Z)

格式:killall -l

列出支持的信號。


使用示例
示例一

[root@jfht ~]# killall -l
HUP INT QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM
STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS
UNUSED
[root@jfht ~]#


示例二

[root@jfht ~]# killall tail
[root@jfht ~]# killall tail
tail: no process killed
[root@jfht ~]#


示例三

這個例子展示怎樣把所有的登錄後的shell給殺掉,因爲有些bash實際上已經沒有終端相連接了。

[root@jfht ~]# w
21:56:35 up 452 days, 5:16, 3 users, load average: 0.05, 0.06, 0.01
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/1 220.112.87.62 21:53 0.00s 0.02s 0.00s w
root pts/9 220.112.87.62 21:53 2:44 0.02s 0.02s -bash
root pts/10 220.112.87.62 21:53 3:13 0.01s 0.01s -bash
[root@jfht ~]# killall -9 bash
此bash也被·卡掉了,所以連接丟失了。現在重新連接並登錄。
Last login: Mon Apr 4 21:53:23 2011 from 220.112.87.62
[root@jfht ~]# w
21:56:52 up 452 days, 5:16, 1 user, load average: 0.28, 0.10, 0.02
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/1 220.112.87.62 21:56 0.00s 0.01s 0.00s w

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章