溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux中Kill命令的進(jìn)程調(diào)度該如何理解

發(fā)布時間:2022-01-24 14:28:32 來源:億速云 閱讀:160 作者:柒染 欄目:開發(fā)技術(shù)

這篇文章主要為大家分析了Linux中Kill命令的進(jìn)程調(diào)度該如何理解的相關(guān)知識點,內(nèi)容詳細(xì)易懂,操作細(xì)節(jié)合理,具有一定參考價值。如果感興趣的話,不妨跟著跟隨小編一起來看看,下面跟著小編一起深入學(xué)習(xí)“Linux中Kill命令的進(jìn)程調(diào)度該如何理解”的知識吧。

我們可以使用組合鍵中斷一個前臺進(jìn)程,但是對于一個后臺進(jìn)程必須求助于kill命令。

kill命令

當(dāng)需要中斷一個前臺進(jìn)程的時候,通常是使用組合鍵;但是對于一個后臺進(jìn)程恐怕就不是一個組合鍵所能解決的了,這時就必須求助于kill命令。該命令可以終止后臺進(jìn)程。至于終止后臺進(jìn)程的原 因很多,或許是該進(jìn)程占用的CPU時間過多;或許是該進(jìn)程已經(jīng)掛死??傊@種情況是經(jīng)常發(fā)生的。

kill命令是通過向進(jìn)程發(fā)送指定的信號來結(jié)束進(jìn)程的。如果沒有指定發(fā)送信號,那么默認(rèn)值為TERM信號。TERM信號將終止所有不能捕獲該信號的進(jìn)程。至于那些可以捕獲該信號的進(jìn)程可能就需要使用kill(9)信號了,該信號是不能被捕捉的。

kill命令的語法格式很簡單,大致有以下兩種方式:

kill [-s 信號 | -p ] [ -a ] 進(jìn)程號 …

kill -l [信號]

-s 指定需要送出的信號。既可以是信號名也可以對應(yīng)數(shù)字。
-p 指定kill命令只是顯示進(jìn)程的pid,并不真正送出結(jié)束信號。
-l 顯示信號名稱列表,這也可以在/usr/include/linux/signal.h文件中找到。

kill命令的使用
下面看看該命令的使用。

例:在執(zhí)行一條find指令時由于時間過長,決定終止該進(jìn)程。

首先應(yīng)該使用ps命令來查看該進(jìn)程對應(yīng)的PID,鍵入ps。

可以看到該進(jìn)程對應(yīng)的PID是345,現(xiàn)在使用kill命令來終止該進(jìn)程。鍵入:

# kill 345

再用ps命令查看,就可以看到,find進(jìn)程已經(jīng)被殺掉了。

例:殺掉進(jìn)程11721

有時候可能會遇到這樣的情況,某個進(jìn)程已經(jīng)掛死或閑置,使用kill命令卻殺不掉。這時候就必須發(fā)送信號9,強行關(guān)閉此進(jìn)程。當(dāng)然這種“野蠻”的方法很 可能會導(dǎo)致打開的文件出現(xiàn)錯誤或者數(shù)據(jù)丟失之類的錯誤。所以不到萬不得已不要使用強制結(jié)束的辦法。如果連信號9都不響應(yīng),那恐怕就只有重新啟動計算機(jī)了。

控制多個進(jìn)程命令
Linux可使用戶同時運行多個進(jìn)程,還允許用戶或系統(tǒng)管理員能控制正在運行的進(jìn)程。

nohup命令
理論上,我們一般退出Linux系統(tǒng)時,會把所有的程序全部結(jié)束掉,包括那些后臺程序。但有時候,例如您正在編輯一個很長的程序,但是您下班或是有事需 要先退出系統(tǒng),這時您又不希望系統(tǒng)把您編輯那么久的程序結(jié)束掉,希望退出系統(tǒng)時,程序還能繼續(xù)執(zhí)行。這時,我們就可以使用nohup命令使進(jìn)程在用戶退出 后仍繼續(xù)執(zhí)行。

一般這些進(jìn)程我們都是讓它在后臺執(zhí)行,結(jié)果則會寫到用戶自己的目錄下的nohup.out這個文件里(也可以使用輸出重定向,讓它輸出到一個特定的文件)。

例: $ nohup sort sales.dat &

這條命令告訴sort命令忽略用戶已退出系統(tǒng),它應(yīng)該一直運行,直到進(jìn)程完成。利用這種方法,可以啟動一個要運行幾天甚至幾周的進(jìn)程,而且在它運行時,用戶不需要去登錄。

nohup命令把一條命令的所有輸出和錯誤信息送到nohup.out文件中。若將輸出重定向,則只有錯誤信息放在nohup.out文件中。

renice命令
renice命令允許用戶修改一個正在運行進(jìn)程的優(yōu)先權(quán)。 利用renice命令可以在命令執(zhí)行時調(diào)整其優(yōu)先權(quán)。其格式如下:

$ renice -number PID

其中,參數(shù)number與nice命令的number意義相同。

注:
(1) 用戶只能對自己所有的進(jìn)程使用renice命令。

(2) root用戶可以在任何進(jìn)程上使用renice命令。

(3) 只有root用戶才能提高進(jìn)程的優(yōu)先權(quán)。

關(guān)于“Linux中Kill命令的進(jìn)程調(diào)度該如何理解”就介紹到這了,更多相關(guān)內(nèi)容可以搜索億速云以前的文章,希望能夠幫助大家答疑解惑,請多多支持億速云網(wǎng)站!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI