溫馨提示×

溫馨提示×

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

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

Linux下如何強制結(jié)束進(jìn)程

發(fā)布時間:2022-01-26 10:39:55 來源:億速云 閱讀:660 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Linux下如何強制結(jié)束進(jìn)程,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

使用命令行或字符終端界面

Ctrl + C

在命令行中調(diào)用 gedit (如果您沒有使用 gedit & 命令)程序的一個問題是 shell 會話被阻塞,沒法釋放命令行提示符。在這種情況下,Ctrl + C (Ctrl 和 C 的組合鍵) 會很管用。這會終止 gedit ,并且所有的工作都將丟失(除非文件已經(jīng)被保存)。Ctrl + C 會給 gedit 發(fā)送了 SIGINT 信號。這是一個默認(rèn)終止進(jìn)程的停止信號,它將指示 shell 停止 gedit 的運行,并返回到主函數(shù)的循環(huán)中,您將返回到提示符。

$ gedit
^C

Ctrl + Z

它被稱為掛起字符。它會發(fā)送 SIGTSTP 信號給進(jìn)程。它也是一個停止信號,但是默認(rèn)行為不是殺死進(jìn)程,而是掛起進(jìn)程。

下面的命令將會停止(殺死/中斷) gedit 的運行,并返回到 shell 提示符。

$ gedit
^Z
[1]+  Stopped                 gedit
$

一旦進(jìn)程被掛起(以 gedit 為例),將不能在 gedit 中寫入或做任何事情。而在后臺,該進(jìn)程變成了一個作業(yè),可以使用 jsbs 命令驗證。

$ jobs
[1]+  Stopped                 gedit

jobs 允許您在單個 shell 會話中控制多個進(jìn)程。您可以終止,恢復(fù)作業(yè),或是根據(jù)需要將作業(yè)移動到前臺或是后臺。

讓我們在后臺恢復(fù) gedit,釋放提示符以運行其它命令。您可以通過 bg 命令來做到,后跟作業(yè) ID(注意上面的 jobs 命令顯示出來的 [1],這就是作業(yè) ID)。

$ bg 1
[1]+ gedit &

這和直接使用 gedit & 啟動程序效果差不多:

$ gedit &

使用 kill

kill 命令提供信號的精確控制,允許您通過指定信號名或是信號數(shù)字為進(jìn)程發(fā)送信號,后跟進(jìn)程 ID 或是 PID。

我喜歡 kill 命令的一點是它也能夠根據(jù)作業(yè) ID 控制進(jìn)程。讓我們使用 gedit & 命令在后臺開啟 gedit 服務(wù)。假設(shè)通過 jobs 命令我得到了一個 gedit 的作業(yè) ID,讓我們?yōu)?gedit 發(fā)送 SIGINT 信號:

$ kill -s SIGINT %1

作業(yè) ID 需要使用 % 前綴,不然 kill 會將其視作 PID。

不明確指定信號,kill 仍然可以工作。此時,默認(rèn)會發(fā)送能中斷進(jìn)程的 SIGTERM 信號。執(zhí)行 kill -l可以查看信號名列表,使用 man kill 命令閱讀手冊。

使用 killall

如果您不想使用特定的工作 ID 或者 PID,killall 允許您使用特定的進(jìn)程名。中斷 gedit 最簡單的 killall 使用方式是:

$ killall gedit

它將終止所有名為 gedit 的進(jìn)程。和 kill 相似,默認(rèn)發(fā)送的信號是 SIGTERM。使用 -I 選項忽略進(jìn)程名的大小寫。

$ gedit &
[1] 14852

$ killall -I GEDIT
[1]+  Terminated              gedit

查看手冊學(xué)習(xí)更多 killall 命令選項(如 -u)。

使用 xkill

您是否遇見過播放器崩潰,比如 VLC[2] 灰屏或掛起?現(xiàn)在你可以像上面一樣獲得進(jìn)程的 PID 來殺掉它,或者使用 xkill 命令終止應(yīng)用程序。

Linux下如何強制結(jié)束進(jìn)程

Using xkill

xkill 允許您使用鼠標(biāo)關(guān)閉窗口。僅需在終端執(zhí)行 xkill 命令,它將會改變鼠標(biāo)光標(biāo)為一個 X 或是一個小骷髏圖標(biāo)。在你想關(guān)閉的進(jìn)程窗口上點擊 x。小心使用 xkill,如手冊描述的一致,它很危險。我已經(jīng)提醒過您了!

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Linux下如何強制結(jié)束進(jìn)程”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向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