国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Linux服務器 > 正文

linux kill命令詳解

2024-09-05 23:03:48
字體:
來源:轉載
供稿:網友

kill 命令的用途

kill 命令很容易讓人產生誤解,以為它僅僅就是用來殺死進程的。我們來看一下 man page 對它的解釋:kill - send a signal to a process.

從官方的解釋不難看出,kill 是向進程發送信號的命令。當然我們可以向進程發送一個終止運行的信號,此時的 kill 命令才是名至實歸。事實上如果我們不給 kill 命令傳遞信號參數,它默認傳遞終止進程運行的信號給進程!這是 kill 命令最主要的用法,也是本文要介紹的內容。

一般情況下,終止一個前臺進程使用 Ctrl + C 就可以了。對于一個后臺進程就須用 kill 命令來終止。我們會先使用 ps、top 等命令獲得進程的 PID,然后使用 kill 命令來殺掉該進程。

kill 命令格式

kill [options] <pid> [...]<pid> […] : 把信號發送給列出的所有進程。options :  -<signal> : 指定發送給進程的信號,指定信號的名稱或號碼都可以。  -l : 列出所有信號的名稱和號碼。

kill 命令詳情

查看可用信號

既然 kill 命令是用來向進程發送信號的,那就讓我們先來看看都有哪些信號可以發送給進程。

$ kill -l

linux,kill命令,kill命令詳解,kill

可不少啊!但這些信號中只有第 9 種信號(SIGKILL)才可以無條件的終止進程,其他信號進程都有權利忽略。并且這么多的信號中常用的也不多,下面我們解釋幾個常用信號的含義。

 

代號 名稱 內容
1       SIGHUP 啟動被終止的程序,可讓該進程重新讀取自己的配置文件,類似重新啟動。
2 SIGINT 相當于用鍵盤輸入 [ctrl]-c 來中斷一個程序的進行。
9 SIGKILL 代表強制中斷一個程序的進行,如果該程序進行到一半,那么尚未完成的部分可能會有“半產品”產生,類似 vim會有 .filename.swp 保留下來。
15 SIGTERM 以正常的方式來終止該程序。由于是正常的終止,所以后續的動作會將他完成。不過,如果該程序已經發生問題,就是無法使用正常的方法終止時,輸入這個 signal 也是沒有用的。
19 SIGSTOP 相當于用鍵盤輸入 [ctrl]-z 來暫停一個程序的進行。

 

上表僅是常見的信號,更多的信號信息請自行通過 man 7 signal 了解。一般來說,只要記住 "1, 9, 15" 這三個信號的意義就可以了。

常用命令

$ kill -15 pid

這條命令發信號讓進程正常退出。所謂的正常退出是指按應用程序自己的退出流程完成退出,這樣就可以清理并釋放資源。比如 vim 程序,如果是正常的退出,就會刪除掉臨時文件 *.swp。

既然信號 15 是退出進程的正確方式,那它也應該是最常用的方式,因而我們可以省略參數 -15。

$ kill pid

這條命令和上面的命令是等價的,kill 命令默認發送信號 15 給目標進程。

當進程出現了異常狀況,不能通過信號15正常退出時,我們就需要通過非常的手段直接終結掉進程。所謂的非常手段就是傳遞信號 9 給目標進程!

$ kill -9 pid

這樣結束掉的進程不會進行資源的清理工作,所以如果你用它來終結掉 vim 的進程,就會發現臨時文件 *.swp 沒有被刪除。

總結

使用信號 15 是安全的,而信號 9 則是處理異常進程的最后手段,請勿濫用。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 河北区| 牙克石市| 榆树市| 江阴市| 廉江市| 尼勒克县| 五莲县| 泉州市| 革吉县| 抚州市| 和顺县| 邢台县| 东光县| 广东省| 阿合奇县| 洛扎县| 石棉县| 信宜市| 河曲县| 永平县| 襄垣县| 元江| 南漳县| 荃湾区| 安义县| 离岛区| 惠安县| 湘潭市| 新竹县| 西吉县| 原平市| 彭阳县| 汝阳县| 永修县| 莲花县| 茶陵县| 英吉沙县| 滦南县| 临湘市| 湘乡市| 义马市|