Linux命令之killall


killall [選項] [-signal(信號)] [name]

    killall發送一條信號給所有允許任意指定命令的進程。如果沒有指定信號名,則發送SIGTERM。信號可以是名字或數字,只有信號0(檢查進程是否存在)只能以數字方式指定。

    如果命令名包括斜杠(/),那么執行該特定文件的進程將被殺死,這與進程名無關。

    Killall進程殺不死自己,但可以殺死其他killall進程。

(1).選項

-e,--exact 精准匹配。由於命令名長於15個字符時,會殺死匹配前15個字符的所有進程。此時需要使用-e選項進行精准匹配。
-g,--process-group 殺死屬於該進程組的所有進程。
-i,--interactive 交互式,殺死進程前請求確認
-I,--ignore-case 進程名匹配不區分大小寫
-l,--list 列出所有信號名
-o,--older-than 僅匹配指定時間之前(在指定時間之前開始)的進程。單位s、m、h、d、w(周)、M、y
-q,--quiet 靜默模式,不報錯
-r,--regexp 使用擴展正則表達式解釋name
-s,--signal 發送指定信號等同[-signal]
-u.--user 僅終止指定用戶擁有的進程。命令名是可選的。
-v,--verbose 報告是否發送成功
-V,version 顯示版本
-w,--wait 等待killall執行完成,每秒檢測一次,直到完成返回。如果信號被忽略或不起作用,或停留在僵屍狀態,killall會永久等待。
-y,--younger-than 僅匹配指定時間之后的進程,與-o選項相反。
-z,--context (僅限SELinux)指定環境(變量):僅殺死含有與指定擴展正則表達式匹配的環境(變量)的進程。必須在其他參數之前,命令名是可選的。

(2).實例

  killall的信號沒有kill的信號多,詳細如下

[xf@xuexi ~]$ 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

  常用的仍然是HUP(1,終端斷線),INT(2,中斷,同<Ctrl>+c),QUIT(3,退出,同<Ctrl>+\),KILL(9,強制終止),TERM(15,缺省信號,終止,正常結束),CONT(18,繼續,同fg/bg命令),STOP(19,停止),TSTP(20,暫停,同<Ctrl>+Z)

  正常終止與強制終止

[xf@xuexi ~]$ vim a.txt&
[1] 9870
[xf@xuexi ~]$ killall -15 vim  //TERM終止,正常結束
[1]+  已停止               vim a.txt
[xf@xuexi ~]$ vim a.txt&
[1] 9601
[xf@xuexi ~]$ killall -9 vim  //KILL強制終止
[1]+  已停止               vim a.txt
[1]+  已殺死               vim a.txt

(3).擴展

pkill [選項] <模板>

  與killall類似,比較常見的用法是root用戶強制踢出已登錄的用戶

[root@xuexi ~]# w  //查看當前所有在線用戶
 11:08:44 up  1:43,  4 users,  load average: 0.14, 0.13, 0.09
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
xf       :0       :0               09:26   ?xdm?   4:07   0.68s /usr/libexec/gn
root     pts/0    :1               11:08    4.00s  0.11s  0.03s w
root     :1       :1               11:01   ?xdm?   4:07   0.55s /usr/libexec/gn
xf       pts/1    192.168.128.137  11:08   21.00s  0.08s  0.08s -bash    //目標
[root@xuexi ~]# pkill -kill -t pts/1  //發送kill信號給TTY為pts/1的目標
[root@xuexi ~]# w
 11:09:07 up  1:43,  3 users,  load average: 0.10, 0.13, 0.09
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
xf       :0       :0               09:26   ?xdm?   4:10   0.69s /usr/libexec/gn
root     pts/0    :1               11:08    3.00s  0.12s  0.03s w
root     :1       :1               11:01   ?xdm?   4:10   0.56s /usr/libexec/gn

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM