六月丁香五月婷婷,丁香五月婷婷网,欧美激情网站,日本护士xxxx,禁止18岁天天操夜夜操,18岁禁止1000免费,国产福利无码一区色费

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > linux常用命令kill命令

linux常用命令kill命令

時(shí)間: 佳洲1085 分享

linux常用命令kill命令

  linux系統(tǒng)中kill命令是常見(jiàn)的命令之一,它的主要功能是用來(lái)殺死進(jìn)程的,下面由學(xué)習(xí)啦小編為大家整理了linux常用命令kill命令的相關(guān)知識(shí),希望大家喜歡!

  linux常用命令kill命令詳解

  Linux中的kill命令用來(lái)終止指定的進(jìn)程(terminate a process)的運(yùn)行,是Linux下進(jìn)程管理的常用命令。通常,終止一個(gè)前臺(tái)進(jìn)程可以使用Ctrl+C鍵,但是,對(duì)于一個(gè)后臺(tái)進(jìn)程就須用kill命令來(lái)終止,我們就需要先使用ps/pidof/pstree/top等工具獲取進(jìn)程PID,然后使用kill命令來(lái)殺掉該進(jìn)程。kill命令是通過(guò)向進(jìn)程發(fā)送指定的信號(hào)來(lái)結(jié)束相應(yīng)進(jìn)程的。在默認(rèn)情況下,采用編號(hào)為15的TERM信號(hào)。TERM信號(hào)將終止所有不能捕獲該信號(hào)的進(jìn)程。對(duì)于那些可以捕獲該信號(hào)的進(jìn)程就要用編號(hào)為9的kill信號(hào),強(qiáng)行“殺掉”該進(jìn)程。

  1.命令格式:

  kill[參數(shù)][進(jìn)程號(hào)]

  2.命令功能:

  發(fā)送指定的信號(hào)到相應(yīng)進(jìn)程。不指定型號(hào)將發(fā)送SIGTERM(15)終止指定進(jìn)程。如果任無(wú)法終止該程序可用“-KILL” 參數(shù),其發(fā)送的信號(hào)為SIGKILL(9) ,將強(qiáng)制結(jié)束進(jìn)程,使用ps命令或者jobs 命令可以查看進(jìn)程號(hào)。root用戶(hù)將影響用戶(hù)的進(jìn)程,非root用戶(hù)只能影響自己的進(jìn)程。

  3.命令參數(shù):

  -l 信號(hào),若果不加信號(hào)的編號(hào)參數(shù),則使用“-l”參數(shù)會(huì)列出全部的信號(hào)名稱(chēng)

  -a 當(dāng)處理當(dāng)前進(jìn)程時(shí),不限制命令名和進(jìn)程號(hào)的對(duì)應(yīng)關(guān)系

  -p 指定kill 命令只打印相關(guān)進(jìn)程的進(jìn)程號(hào),而不發(fā)送任何信號(hào)

  -s 指定發(fā)送信號(hào)

  -u 指定用戶(hù)

  注意:

  1、kill命令可以帶信號(hào)號(hào)碼選項(xiàng),也可以不帶。如果沒(méi)有信號(hào)號(hào)碼,kill命令就會(huì)發(fā)出終止信號(hào)(15),這個(gè)信號(hào)可以被進(jìn)程捕獲,使得進(jìn)程在退出之前可以清理并釋放資源。也可以用kill向進(jìn)程發(fā)送特定的信號(hào)。例如:

  kill -2 123

  它的效果等同于在前臺(tái)運(yùn)行PID為123的進(jìn)程時(shí)按下Ctrl+C鍵。但是,普通用戶(hù)只能使用不帶signal參數(shù)的kill命令或最多使用-9信號(hào)。

  2、kill可以帶有進(jìn)程ID號(hào)作為參數(shù)。當(dāng)用kill向這些進(jìn)程發(fā)送信號(hào)時(shí),必須是這些進(jìn)程的主人。如果試圖撤銷(xiāo)一個(gè)沒(méi)有權(quán)限撤銷(xiāo)的進(jìn)程或撤銷(xiāo)一個(gè)不存在的進(jìn)程,就會(huì)得到一個(gè)錯(cuò)誤信息。

  3、可以向多個(gè)進(jìn)程發(fā)信號(hào)或終止它們。

  4、當(dāng)kill成功地發(fā)送了信號(hào)后,shell會(huì)在屏幕上顯示出進(jìn)程的終止信息。有時(shí)這個(gè)信息不會(huì)馬上顯示,只有當(dāng)按下Enter鍵使shell的命令提示符再次出現(xiàn)時(shí),才會(huì)顯示出來(lái)。

  5、應(yīng)注意,信號(hào)使進(jìn)程強(qiáng)行終止,這常會(huì)帶來(lái)一些副作用,如數(shù)據(jù)丟失或者終端無(wú)法恢復(fù)到正常狀態(tài)。發(fā)送信號(hào)時(shí)必須小心,只有在萬(wàn)不得已時(shí),才用kill信號(hào)(9),因?yàn)檫M(jìn)程不能首先捕獲它。要撤銷(xiāo)所有的后臺(tái)作業(yè),可以輸入kill 0。因?yàn)橛行┰诤笈_(tái)運(yùn)行的命令會(huì)啟動(dòng)多個(gè)進(jìn)程,跟蹤并找到所有要?dú)⒌舻倪M(jìn)程的PID是件很麻煩的事。這時(shí),使用kill 0來(lái)終止所有由當(dāng)前shell啟動(dòng)的進(jìn)程,是個(gè)有效的方法。

  linux常用命令kill命令使用實(shí)例

  實(shí)例1:列出所有信號(hào)名稱(chēng)

  命令:

  kill -l

  輸出:

  [root@localhost test6]# kill -l

  1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL

  5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE

  9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2

  13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT

  17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP

  21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU

  25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH

  29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN

  35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4

  39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8

  43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12

  47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14

  51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10

  55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6

  59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2

  63) SIGRTMAX-1 64) SIGRTMAX

  說(shuō)明:

  只有第9種信號(hào)(SIGKILL)才可以無(wú)條件終止進(jìn)程,其他信號(hào)進(jìn)程都有權(quán)利忽略。 下面是常用的信號(hào):

  HUP 1 終端斷線(xiàn)

  INT 2 中斷(同 Ctrl + C)

  QUIT 3 退出(同 Ctrl + \)

  TERM 15 終止

  KILL 9 強(qiáng)制終止

  CONT 18 繼續(xù)(與STOP相反, fg/bg命令)

  STOP 19 暫停(同 Ctrl + Z)

  實(shí)例2:得到指定信號(hào)的數(shù)值

  命令:

  輸出:

  [root@localhost test6]# kill -l KILL

  9[root@localhost test6]# kill -l SIGKILL

  9[root@localhost test6]# kill -l TERM

  15[root@localhost test6]# kill -l SIGTERM

  15[root@localhost test6]#

  說(shuō)明:

  實(shí)例3:先用ps查找進(jìn)程,然后用kill殺掉

  命令:

  kill 3268

  輸出:

  [root@localhost test6]# ps -ef|grep vim

  root 3268 2884 0 16:21 pts/1 00:00:00 vim install.log

  root 3370 2822 0 16:21 pts/0 00:00:00 grep vim

  [root@localhost test6]# kill 3268

  [root@localhost test6]# kill 3268

  -bash: kill: (3268) - 沒(méi)有那個(gè)進(jìn)程

  [root@localhost test6]#

  說(shuō)明:

  實(shí)例4:徹底殺死進(jìn)程

  命令:

  kill –9 3268

  輸出:

  [root@localhost test6]# ps -ef|grep vim

  root 3268 2884 0 16:21 pts/1 00:00:00 vim install.log

  root 3370 2822 0 16:21 pts/0 00:00:00 grep vim

  [root@localhost test6]# kill –9 3268

  [root@localhost test6]# kill 3268

  -bash: kill: (3268) - 沒(méi)有那個(gè)進(jìn)程

  [root@localhost test6]#

  說(shuō)明:

  實(shí)例5:殺死指定用戶(hù)所有進(jìn)程

  命令:

  kill -9 $(ps -ef | grep peidalinux)

  kill -u peidalinux

  輸出:

  [root@localhost ~]# kill -9 $(ps -ef | grep peidalinux)

  [root@localhost ~]# kill -u peidalinux

  說(shuō)明:

  方法一,過(guò)濾出hnlinux用戶(hù)進(jìn)程并殺死

  實(shí)例6:init進(jìn)程是不可殺的

  命令:

  kill -9 1

  輸出:

  [root@localhost ~]# ps -ef|grep init

  root 1 0 0 Nov02 ? 00:00:00 init [3]

  root 17563 17534 0 17:37 pts/1 00:00:00 grep init

  [root@localhost ~]# kill -9 1

  [root@localhost ~]# kill -HUP 1

  [root@localhost ~]# ps -ef|grep init

  root 1 0 0 Nov02 ? 00:00:00 init [3]

  root 17565 17534 0 17:38 pts/1 00:00:00 grep init

  [root@localhost ~]# kill -KILL 1

  [root@localhost ~]# ps -ef|grep init

  root 1 0 0 Nov02 ? 00:00:00 init [3]

  root 17567 17534 0 17:38 pts/1 00:00:00 grep init

  [root@localhost ~]#

  說(shuō)明:

  init是Linux系統(tǒng)操作中不可缺少的程序之一。所謂的init進(jìn)程,它是一個(gè)由內(nèi)核啟動(dòng)的用戶(hù)級(jí)進(jìn)程。內(nèi)核自行啟動(dòng)(已經(jīng)被載入內(nèi)存,開(kāi)始運(yùn)行,并已初始化所有的設(shè)備驅(qū)動(dòng)程序和數(shù)據(jù)結(jié)構(gòu)等)之后,就通過(guò)啟動(dòng)一個(gè)用戶(hù)級(jí)程序init的方式,完成引導(dǎo)進(jìn)程。所以,init始終是第一個(gè)進(jìn)程(其進(jìn)程編號(hào)始終為1)。 其它所有進(jìn)程都是init進(jìn)程的子孫。init進(jìn)程是不可殺的!

3613020