Linux命令:Kill

來源:互聯網
上載者:User

文法格式
kill [-s 訊號][程式] 或 kill [-l 訊號]
使用說明

kill 命令發送一個訊號(預設,SIGTERM 訊號)到一個正啟動並執行程式。預設操作一般是停止進程。如果想停止一個進程,在 ProcessID 變數中指定進程標識符(PID)。這個 shell 報告每個在後台
啟動並執行進程的 PID(除非在一個管道上啟動多個進程,這個種情況下,shell 報告最後一個進程號)。
還可用 ps 命令來發現命令的進程標識號。root 使用者可用 kill 命令來停止任何進程。如果不是 
root 使用者,必須已經啟動了要停止的進程。SignalName 以大小寫無關的方式被辨認,
無 SIG 首碼。如果指定的 SignalNumber 是 0,kill 命令檢查指定 PID 的有效性。

主要參數
-s{SignalName | SignalNumber} 將訊號指定為訊號數或訊號名,例如為 SIGKILL 訊號指定 -9 或KILL。
-SignalName 指定一個訊號名,如 SIGHUP。
-SignalNumber 指定一個訊號數。

註: 在文法中要用預設的訊號指定負 PID,必須指定作為一個訊號。否則,第一個運算元被解釋為一個 SignalNumber。 ProcessID 指定一個十進位整數代表一個要被發送訊號的進程或進程組。如果
 PID 是一個正值,kill 命令發送進程 ID 與 PID 相等的進程。如果 PID 值是 0,kill 命令發
送訊號到所有進程組的 ID 等於寄件者進程組的 ID 的進程。不發送訊號到 PID 為 0 或 1 的進程。
如果 PID 是 -1,kill命令發送訊號到所有由寄件者的有效使用者所有的進程。不發送訊號到 PID 為 0 
或 1 的進程。 如果訊號為非 -1 的負數,kill 命令發送訊號到進程組標識等於 PID 絕對值的所有進程。 
-l 列出由實現支援的訊號名稱。-lExitStatus 列出去掉了公用 SIG 首碼的訊號名。如果 ExitStatus 
是一個十進位整數值,對應那個訊號的訊號名<br />被顯示。如果 ExitStatus 是一個對應於由這個訊號
終止的進程的退出狀態值,則顯示對應於這個終止這個進程的訊號的名稱。

應用執行個體

  • 要停止一個給定的進程,請輸入:
kill 1095這個通過發送預設的 SIGTERM 訊號到進程 1095 來停止它。
註:如果進程 1095 已經做了特殊安排來忽略或覆蓋 SIGTERM 訊號,這個進程實際可能不停止。
  • 要停止幾個忽略預設訊號的進程,請輸入:
kill -kill 2098 1569這個發送訊號 9,即 SIGKILL 訊號,來處理 2098 和 1569。SIGKILL 訊號是
個通常不能被忽略或覆蓋的特殊訊號。
  • 要停止所有進程並登出自己,請輸入:
kill -kill 0這個發送訊號 9,即 SIGKILL 訊號,到所有組 ID 等於寄件者組 ID 的進程。
因為 shell 不能忽略 SIGKILL 訊號,它也停止登入 shell 並登出使用者。
  • 要停止您擁有的所有進程,請輸入:
kill -9 -1這發送訊號 9,就是 SIGKILL 訊號,到所有由有效使用者擁有的進程,甚至那些在其他工作站上
啟動的和屬於其他進程組的進程。如果一個您請求的列表正被列印,它也被停止。
  • 要發送一個不同的訊號到一個進程,請輸入:
kill -USR1 1103kill 命令的名稱是一個誤導,因為許多訊號,包括 SIGUSR1,並不停止進程。
發生在 SIGUSR1 訊號上的操作由正啟動並執行特定的應用程式定義。註:要發送訊號 15,或用這種
形式的 kill 命令發送 SIGTERM 訊號,必須明確地指定 -15 或 TERM。

進程不能kill掉的情況

做過Linux開發的人通常遇到過一個進程不能kill掉的情況,即使使用的是kill -9方式,而一般的教課書都只說kill -9能殺死任何進程,

遇到這種情況時就會感覺到很矛盾,其它這也是正常的,通常有兩種情況是不能kill掉的:

一是進程已經成為僵死進程,當它的父進程將它回收或將它的父進程kill掉即可在ps輸出看不到了;
二是進程正處在核心狀態中,Linux進程運行時分核心和使用者兩種狀態,當進程進入核心狀態後,會屏蔽所有訊號,包括SIGKIL,

所以這個時候kill -9也變得無效了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.