linux常用命令:killall 命令
killall命令用進(jìn)程的名字來殺死進(jìn)程。
1.命令格式:
killall [ -egiqvw ] [ -signal ] [進(jìn)程名稱]
格式:killall -<signame> <command-name> 格式:killall -<signum> <command-name> 發(fā)送指定的信號(hào)到名字為<command-name>的所有進(jìn)程。指定的信號(hào)可以是名稱<signame>,也可以是信號(hào)對(duì)應(yīng)的數(shù)字<signum>。 下面是常用的信號(hào): 第一列為<signame>,第二列為<signum>,第三列為信號(hào)的含義。 HUP 1 終端斷線 INT 2 中斷(同 Ctrl + C) QUIT 3 退出(同 Ctrl + \) KILL 9 強(qiáng)制終止 TERM 15 終止 CONT 18 繼續(xù)(與STOP相反, fg/bg命令) STOP 19 暫停(同 Ctrl + Z
2.命令功能:
用來結(jié)束同名的的所有進(jìn)程
我們可以使用kill命令殺死指定進(jìn)程PID的進(jìn)程,如果要找到我們需要?dú)⑺赖倪M(jìn)程,我們還需要在之前使用ps等命令再配合grep來查找進(jìn)程,而killall把這兩個(gè)過程合二為一,是一個(gè)很好用的命令。
killall發(fā)送一條信號(hào)給所有運(yùn)行任意指定命令的進(jìn)程. 如果沒有指定信號(hào)名, 則發(fā)送 SIGTERM。
3.命令參數(shù):
1) -I 在發(fā)送信號(hào)給指定名稱的進(jìn)程時(shí)忽略大小寫
2) -i 交互模式,殺死進(jìn)程前先詢問用戶
3) -e 要求匹配進(jìn)程名稱(當(dāng)進(jìn)程名大于15個(gè)字符時(shí)有用)
4) -s 發(fā)送指定的信號(hào)
5) -v 報(bào)告信號(hào)是否發(fā)送成功
檢查共享內(nèi)存中的written,是否為0,若不是,表示共享內(nèi)存中的數(shù)據(jù)還沒有被完,則等待其他進(jìn)程讀取完成,并提示用戶等待。terminateprocess()是異步執(zhí)行的linux常用命令,在調(diào)用返回后并不能確定被終止進(jìn)程是否已經(jīng)真的退出,如果調(diào)用terminateprocess()的進(jìn)程對(duì)此細(xì)節(jié)關(guān)心,可以通過waitforsingleobject()來等待進(jìn)程的真正結(jié)束。terminateprocess()是異步執(zhí)行的,在調(diào)用返回后并不能確定被終止進(jìn)程是否已經(jīng)真的退出,如果調(diào)用terminateprocess()的進(jìn)程對(duì)此細(xì)節(jié)關(guān)心linux常用命令,可以通過waitforsingleobject()來等待進(jìn)程的真正結(jié)束。
注意: 如果信號(hào)被忽略或沒有起作用, 或者進(jìn)程停留在僵尸狀態(tài), killall 可能會(huì)永久等待。
4.使用實(shí)例
1)[root@localhost xiong]# killall -9 bash
[root@localhost xiong]# ps -ef |grep bash root 826 1 0 6月26 ? 00:00:01 /bin/bash /usr/sbin/ksmtuned xiong 8914 8772 0 6月26 ? 00:00:00 /usr/bin/ssh-agent /bin/sh -c exec -l /bin/bash -c "env GNOME_SHELL_SESSION_MODE=classic gnome-session --session gnome-classic" xiong 71359 71351 0 07:10 pts/0 00:00:00 bash root 71399 71392 0 07:10 pts/0 00:00:00 bash root 71439 71399 0 07:10 pts/0 00:00:00 grep --color=auto bash [root@localhost xiong]# killall bash //并沒有起到任何作用 [root@localhost xiong]# ps -ef |grep bash root 826 1 0 6月26 ? 00:00:01 /bin/bash /usr/sbin/ksmtuned xiong 8914 8772 0 6月26 ? 00:00:00 /usr/bin/ssh-agent /bin/sh -c exec -l /bin/bash -c "env GNOME_SHELL_SESSION_MODE=classic gnome-session --session gnome-classic" xiong 71359 71351 0 07:10 pts/0 00:00:00 bash root 71399 71392 0 07:10 pts/0 00:00:00 bash root 71450 71399 0 07:10 pts/0 00:00:00 grep --color=auto bash