kill命令之kill命令


很多同學在日常使用 Linux 中會經常使用 kill 命令來殺死進程,有的直接使用 kill,有的使用 kill -9,有的使用 kill -3,他們是什么意思呢,有什么區別呢,今天我們就了解一下 Kill 命令和 Linux 中的信號。Kill命令
kill命令的格式是 kill -Signal pid,其中 pid 就是進程的編號,signal是發送給進程的信號,默認參數下,kill 發送 SIGTERM(15)信號給進程,告訴進程,你需要被關閉,請自行停止運行並退出。
查看Kill命令的Signal信號列表可以使用命令:kill -l 來查看:

 

 Linux Signal 信號

Linux支持POSIX標准信號和實時信號。下面給出Linux Signal的簡表:

信號 取值 默認動作 含義(發出信號的原因)
SIGHUP 1 Term 終端的掛斷或進程死亡
SIGINT 2 Term 來自鍵盤的中斷信號
SIGQUIT 3 Core 來自鍵盤的離開信號
SIGILL 4 Core 非法指令
SIGABRT 6 Core 來自abort的異常信號
SIGFPE 8 Core 浮點例外
SIGKILL 9 Term 殺死
SIGSEGV 11 Core 段非法錯誤(內存引用無效)
SIGPIPE 13 Term 管道損壞:向一個沒有讀進程的管道寫數據
SIGALRM 14 Term 來自alarm的計時器到時信號
SIGTERM 15 Term 終止
SIGUSR1 30,10,16 Term 用戶自定義信號1
SIGUSR2 31,12,17 Term 用戶自定義信號2
SIGCHLD 20,17,18 Ign 子進程停止或終止
SIGCONT 19,18,25 Cont 如果停止,繼續執行
SIGSTOP 17,19,23 Stop 非來自終端的停止信號
SIGTSTP 18,20,24 Stop 來自終端的停止信號
SIGTTIN 21,21,26 Stop 后台進程讀終端
SIGTTOU 22,22,27 Stop 后台進程寫終端
SIGBUS 10,7,10 Core 總線錯誤(內存訪問錯誤)
SIGPOLL Term Pollable事件發生(Sys V),與SIGIO同義  
SIGPROF 27,27,29 Term 統計分布圖用計時器到時
SIGSYS 12,-,12 Core 非法系統調用(SVr4)
SIGTRAP 5 Core 跟蹤/斷點自陷
SIGURG 16,23,21 Ign socket緊急信號(4.2BSD)
SIGVTALRM 26,26,28 Term 虛擬計時器到時(4.2BSD)
SIGXCPU 24,24,30 Core 超過CPU時限(4.2BSD)
SIGXFSZ 25,25,31 Core 超過文件長度限制(4.2BSD)
SIGIOT 6 Core IOT自陷,與SIGABRT同義
SIGEMT 7,-,7 Term  
SIGSTKFLT -,16,- Term 協處理器堆棧錯誤(不使用)
SIGIO 23,29,22 Term 描述符上可以進行I/O操作
SIGCLD -,-,18 Ign 與SIGCHLD同義
SIGPWR 29,30,19 Term 電力故障(System V)
SIGINFO 29,-,- 與SIGPWR同義  
SIGLOST -,-,- Term 文件鎖丟失
SIGWINCH 28,28,20 Ign 窗口大小改變(4.3BSD, Sun)
SIGUNUSED -,31,- Term 未使用信號(will be SIGSYS)
kill、kill -9、kill -3的區別

經過上面的學習,現在就知道他們的區別了吧。

kill 會默認傳15代表的信號為SIGTERM,這是告訴進程你需要被關閉,請自行停止運行並退出,進程可以清理緩存自行結束,也可以拒絕結束。

kill -9代表的信號是SIGKILL,表示進程被終止,需要立即退出,強制殺死該進程,這個信號不能被捕獲也不能被忽略。

kill -3可以打印進程各個線程的堆棧信息,kill -3 pid 后文件的保存路徑為:/proc/${pid}/cwd,文件名為:antBuilderOutput.log

總結

如果是讓進程自己執行退出離場程序就使用 kill 命令,這樣進程可以自己執行一些清理動作然后退出。如果進程卡死,你需要記錄當時的事故現場,那么應該用 kill -3 來記錄事故現場的信息然后退出。如果你什么也不需要,就是要殺死一個進程那么就是用 kill -9 命令,很暴力的殺死它。


------------
商業用途請聯系作者獲得授權。
版權聲明:本文為原創文章,遵循 CC BY-NC-SA 4.0 版權協議,轉載請附上原文出處鏈接及本聲明。
作者:任霏
來源: https://www.renfei.net/posts/1003370
=======================================================================================

   

  


免責聲明!

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



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