Linux kill 命令很容易讓人產(chǎn)生誤解,以為它僅僅就是用來殺死進(jìn)程的。我們來看一下 man page 對它的解釋:kill - send a signal to a process.
從官方的解釋不難看出,kill 是向進(jìn)程發(fā)送信號的命令。當(dāng)然我們可以向進(jìn)程發(fā)送一個終止運(yùn)行的信號,此時的 kill 命令才是名至實(shí)歸。事實(shí)上如果我們不給 kill 命令傳遞信號參數(shù),它默認(rèn)傳遞終止進(jìn)程運(yùn)行的信號給進(jìn)程!這是 kill 命令最主要的用法,也是本文要介紹的內(nèi)容。
一般情況下,終止一個前臺進(jìn)程使用 Ctrl + C 就可以了。對于一個后臺進(jìn)程就須用 kill 命令來終止。我們會先使用 ps、top 等命令獲得進(jìn)程的 PID,然后使用 kill 命令來殺掉該進(jìn)程。
kill [options] <pid> [...] <pid> […] : 把信號發(fā)送給列出的所有進(jìn)程。
options :
-<signal> : 指定發(fā)送給進(jìn)程的信號,指定信號的名稱或號碼都可以。 -l : 列出所有信號的名稱和號碼。
既然 kill 命令是用來向進(jìn)程發(fā)送信號的,那就讓我們先來看看都有哪些信號可以發(fā)送給進(jìn)程。
$ kill -l
可不少!但這些信號中只有第 9 種信號(SIGKILL)才可以無條件的終止進(jìn)程,其他信號進(jìn)程都有權(quán)利忽略。并且這么多的信號中常用的也不多,下面我們解釋幾個常用信號的含義。
啟動被終止的程序,可讓該進(jìn)程重新讀取自己的配置文件,類似重新啟動。
相當(dāng)于用鍵盤輸入 [ctrl]-c 來中斷一個程序的進(jìn)行。
代表強(qiáng)制中斷一個程序的進(jìn)行,如果該程序進(jìn)行到一半,那么尚未完成的部分可能會有“半產(chǎn)品”產(chǎn)生,類似 vim會有 .filename.swp 保留下來。
如果你是該程序可不可以刪除的話,當(dāng)然是不可以的,刪除該程序的話會出現(xiàn)圖形界面無法適用的情況,當(dāng)然如果你關(guān)閉了該進(jìn)程也是不會影響系統(tǒng)的正常運(yùn)行的。就現(xiàn)在,我們只需要知道如果shell與終端驅(qū)動器被正常配置,在鍵盤上輸入中斷字符會產(chǎn)生sigint信號發(fā)送到前臺進(jìn)程,這會使得程序終止,除非已經(jīng)設(shè)定動作來捕獲這個信號。還請高手指點(diǎn)站長一二)0x000006b 因?yàn)榇玫拇疟P尚未插入,所以程序已經(jīng)停止0x000006c 磁盤正在使用中或被鎖定0x000006f 文件名太長0x0000070 硬盤空間不足0x000007f 找不到指定的程序0x000045b 系統(tǒng)正在關(guān)機(jī)0x000045c 無法中止系統(tǒng)關(guān)機(jī),因?yàn)闆]有關(guān)機(jī)的動作在進(jìn)行中0x000046a 可用服務(wù)器儲存空間不足0x0000475 系統(tǒng)bios無法變更系統(tǒng)電源狀態(tài)0x000047e 指定的程序需要新的windows版本0x000047f 指定的程序不是windwos或ms-dos程序0x0000480 指定的程序已經(jīng)啟動,無法再啟動一次0x0000481 指定的程序是為舊版的 windows所寫的。
相當(dāng)于用鍵盤輸入 [ctrl]-z 來暫停一個程序的進(jìn)行。
有關(guān)ab音箱的更多信息請登錄愛hifi音響網(wǎng)(lovehifi.com)了解。這個定義中首先彌補(bǔ)了信息論中對信息定義的特定指向性--即只描述了非人類、非語義層的信息概念,把信息這一概念放到人類社會以及人類交往中考察,也糾正了控制論信息定義中對信息概念的泛化傾向,繼而明確指出信息是物質(zhì)的屬性,而不是事物本身,是由事物發(fā)出的消息、指令、數(shù)據(jù)、信號等所包含的內(nèi)容,是數(shù)據(jù)、消息中的意義。如果您想對“早餐店加盟”有更多了解,請點(diǎn)擊搜索更多信息:。
$ kill -15 pid