欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在Linux命令行中終止進(jìn)程的操作命令

 更新時(shí)間:2023年12月17日 15:40:07   作者:wljslmz  
如果你想在linux上停止某個(gè)進(jìn)程,你會(huì)怎么操作,本文小編給大家詳細(xì)介紹了如何在?Linux?命令行中終止進(jìn)程,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下

如果命令/進(jìn)程在前臺(tái)運(yùn)行,您可以使用 Ctrl+C 終端快捷方式,但是,如果進(jìn)程不可見(在后臺(tái)運(yùn)行),您可以使用專用命令“殺死它”。

“終止進(jìn)程”是指在執(zhí)行過(guò)程中停止進(jìn)程,如果您知道進(jìn)程 ID (PID),則可以使用 kill 命令,如下所示:

kill <signal> <PID>

在上面的語(yǔ)法中,signal指的是要發(fā)送終止的終止信號(hào),并且PID指的是進(jìn)程的 ID。

還有一個(gè) killall 命令,我將在本文中討論kill 和 killall 命令。

在你開始?xì)⑺肋M(jìn)程之前,你應(yīng)該知道一些事情,例如有哪些終止信號(hào)可用,如何找到 PID 等。

讓我們先從信號(hào)開始。

Linux 中的終止信號(hào)

當(dāng)一個(gè)進(jìn)程被操作系統(tǒng)或用戶終止時(shí),即進(jìn)程沒(méi)有自行完成,它會(huì)被發(fā)送一個(gè)終端信號(hào)。

以下是可用的終止信號(hào):

  • SIGHUP
    • 1:信號(hào)掛斷:當(dāng)控制它的終端關(guān)閉時(shí)發(fā)送到進(jìn)程。
  • SIGINT
    • 2:信號(hào)中斷:當(dāng)用戶終止進(jìn)程時(shí)發(fā)送給進(jìn)程的信號(hào)。(例如 Ctrl + X)
  • SIGKILL
    • 9:Signal Kill:立即退出進(jìn)程的信號(hào),不允許它保存當(dāng)前狀態(tài)。
  • SIGTERM
    • 15:信號(hào)終止:發(fā)送到信號(hào)以請(qǐng)求終止進(jìn)程。該信號(hào)可以被進(jìn)程忽略。但這是終止進(jìn)程的首選方式,因?yàn)樗梢栽谶M(jìn)程收到 SIGTERM 時(shí)釋放資源。
  • SIGSTOP
    • 19(x86、ARM)、17(Alpha)、23(MIPS)、24(PARISC):信號(hào)停止:停止進(jìn)程但稍后恢復(fù)的信號(hào)。

一般情況會(huì)使用信號(hào) 9 和 15

獲取進(jìn)程的PID

您還需要了解要終止的進(jìn)程的詳細(xì)信息,使用 kill 命令,您必須提供進(jìn)程的 ID (PID),您可以從進(jìn)程名稱中獲取 PID:

pidof exact_process_name

在 Linux 命令行中終止進(jìn)程

讓我們先看看 kill 命令,因?yàn)槟鷮⒈?killall 更多地使用它。

使用 kill 命令

該kill命令要求您知道要終止的進(jìn)程的 ID,以及可選的終止信號(hào)。

要簡(jiǎn)單地終止命令,請(qǐng)使用以下語(yǔ)法:

kill [signal] <PID>

向 PID 發(fā)送終止信號(hào)是可選的,如果未提供任何信號(hào),則kill默認(rèn)發(fā)送 SIGTERM ( 15),以正常終止所述進(jìn)程結(jié)束。

我啟動(dòng)了sleep 命令的后臺(tái)進(jìn)程(它給了我一個(gè) PID),讓我們嘗試使用kill命令殺死它。

殺死這個(gè)特定的實(shí)例sleep如下所示:

$  sleep 120 &
[1] 125686

$ kill 125686
[1]  + terminated  sleep 120

如果我想使用終止信號(hào),我可以使用數(shù)值或信號(hào)本身:

$ sleep 120 &
[1] 125746

$ kill -SIGKILL 125746
[1]  + killed     sleep 120

####----##-----####

$ sleep 120 &
[1] 125759

$ kill -9 125759
[1]  + killed     sleep 120

如果 kill 命令沒(méi)有指定信號(hào),則默認(rèn)使用 SIGTERM (15)。

使用 killall 命令

如果不知道某個(gè)進(jìn)程的PID是多少,或者該進(jìn)程有多個(gè)子進(jìn)程,又想一次性殺死子進(jìn)程和父進(jìn)程,可以使用killall命令。

killall [signal] <process-name>

與kill命令類似,指定終止信號(hào)是可選的,當(dāng)沒(méi)有指定終止信號(hào)時(shí),killall將發(fā)送 SIGTERM ( 15) 以優(yōu)雅地關(guān)閉所述進(jìn)程。

為了演示 的使用killall,我想殺死兩個(gè)正在運(yùn)行的 sleep 命令。

$ sleep 120 &
[1] 18609

$ sleep 2000 &
[2] 18612

$ killall sleep
[1]-  Terminated              sleep 120
[2]+  Terminated              sleep 2000

此外,您可以使用該-e標(biāo)志來(lái)查找進(jìn)程名稱的完全匹配。

使用 pkill 命令

命令的替代命令kill是pkill命令,它是pgrep和kill命令的“組合”。

killall殺死所有具有匹配名稱的進(jìn)程。另一方面,pkill使用模式匹配來(lái)匹配進(jìn)程并殺死它們。

下面是語(yǔ)法:

pkill [options] pattern

命令中可用的一些有用選項(xiàng)pkill如下:

  • -u: 特定所有者擁有的進(jìn)程
  • -x: 完全匹配模式的進(jìn)程
  • -signal: 指定終止信號(hào)(默認(rèn)為 SIGTERM)

假設(shè)我的guest計(jì)算機(jī)上有一個(gè)用戶當(dāng)前不應(yīng)該運(yùn)行任何進(jìn)程,如果有,我想終止它們,我怎樣才能做到這一點(diǎn)?

$ ps aux | grep sleep
guest     126061  0.0  0.0   6664   428 pts/3    S    10:14   0:00 sleep 50

$ sudo pkill -u guest

請(qǐng)注意,我使用sudo的是因?yàn)槲艺谔幚聿粚儆谖业挠脩舻倪M(jìn)程。

以上就是在Linux命令行中終止進(jìn)程的操作命令的詳細(xì)內(nèi)容,更多關(guān)于Linux命令行中終止進(jìn)程的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論