Linux 操作系統可以使用kill 命令來終止進程,這樣當發生一些重要更改/更新時,您無需重新啟動服務器,這也是為什么地球上96.4%的服務器都運行Linux的原因之一。
Kill命令向當前正在運行的進程發送一個指定的信號。kill 命令可以通過多種方式執行:直接執行或從 shell 腳本執行。
kill 命令的常用語法是:
# kill [signal or option] PID(s)
對于kill 命令,信號名稱可以是:
信號名稱 信號值 行為SIGHUP 1 HangupSIGKILL 9 Kill SignalSIGTERM 15 Terminate
從上面的行為可以清楚地看出,SIGTERM是殺死進程的默認和最安全的方法。SIGHUP是一種比SIGTERM更不安全的終止進程的方法。SIGKILL是上述三種方法中最不安全的一種,即終止一個進程而不保存。
為了殺死一個進程,我們需要知道一個進程的進程 ID。進程是程序的一個實例。每次程序啟動時,都會自動為該進程生成一個唯一的PID 。
Linux中的每個進程 都有一個pid。Linux 系統啟動時啟動的第一個進程是-init 進程,因此在大多數情況下,它被分配了一個值“ 1 ”。
init是主進程,不能通過這種方法殺死它,這樣可以保證主進程不會被意外殺死。Init 自己決定是否允許自己被殺死,而 kill 只是一個關閉請求。
列出所有正在運行的 Linux 進程要了解所有進程及其分配的pid,請運行以下ps 命令。
# ps -A# ps -A | grep mysqld# ps aux | grep mysqld 輸出信息更加詳細,包括進程啟動時的各種參數# pgrep mysql如何殺死某個Linux 進程
在我們執行kill 命令之前,需要注意一些要點:
用戶可以殺死他的所有進程。一個用戶不能殺死另一個用戶的進程。用戶不能殺死系統正在使用的進程。root 用戶可以殺死系統級進程和任何用戶的進程。# 殺死進程3139的兩種方法kill -9 3139 kill -SIGTERM 3139 如何在 Linux 中使用進程名殺死一個進程
你必須清楚的知道進程名,如果輸入了錯誤的進程名,那么你可能就搞砸了。
# pkill mysqld
一次殺死多個進程。
# kill PID1 PID2 PID3# kill -9 PID1 PID2 PID3# kill -SIGKILL PID1 PID2 PID3
如果一個進程有很多實例和許多子進程,此時我們可以使用命令 killall 或 pkill。這兩個命令的參數為進程名而不是進程號。
啟動3個vim后臺進程# vim a.txt vim b.txt vim c.txt ps -A | grep vim 688243 pts/1 00:00:00 vim 688304 pts/1 00:00:00 vim 688341 pts/1 00:00:00 vim 殺死3個vim進程# pkill -9 vim參考https://www.tecmint.com/how-to-kill-a-process-in-linux/https://en.wikipedia.org/wiki/SIGHUPhttps://developer.ibm.com/articles/au-usingtraps/
本文發布于:2023-02-28 20:00:00,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/167764906373888.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:pkill(pkill.doc
本文 PDF 下載地址:pkill(pkill.pdf
| 留言與評論(共有 0 條評論) |