0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux中的kill 和 killall 命令介紹

dyquk4xk2p3d ? 來源:良許Linux ? 作者:良許Linux ? 2022-10-09 10:27 ? 次閱讀

我想干掉Liunx某個(gè)進(jìn)程怎么搞?

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

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


>kill

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

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

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

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

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

信號(hào) 數(shù)值 描述
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 (for x86, ARM and most others) 17 (for Alpha) 23 (for MIPS) 24 (for PARISC) 停止信號(hào):停止進(jìn)程的信號(hào),但稍后將恢復(fù)。

常用的信號(hào) 9 和 15

獲取進(jìn)程的PID

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


>pidofexact_process_name

比如獲取java進(jìn)程的進(jìn)程號(hào)


>pidofjava 80751032

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

使用 kill 命令

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

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


kill[signal]

向 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如下所示:


$sleep120& [1]125686 $kill125686 [1]+terminatedsleep120

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


$sleep120& [1]125746 $kill-SIGKILL125746 [1]+killedsleep120 $sleep120& [1]125759 $kill-9125759 [1]+killedsleep120

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

使用 killall 命令

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


killall[signal]

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

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


$sleep120& [1]112351 $sleep2000& [2]112362 $killallsleep [1]-Terminatedsleep120 [2]+Terminatedsleep2000

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

使用 pkill 命令

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

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


pkill[options]pattern

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

-u: 特定所有者擁有的進(jìn)程

-x: 完全匹配模式的進(jìn)程

-signal: 指定終止信號(hào)(默認(rèn)為 SIGTERM)

結(jié)束nginx進(jìn)程

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11304

    瀏覽量

    209521
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6825

    瀏覽量

    123333
  • PID
    PID
    +關(guān)注

    關(guān)注

    35

    文章

    1472

    瀏覽量

    85524

原文標(biāo)題:你是怎么在 Linux 干掉進(jìn)程的?

文章出處:【微信號(hào):良許Linux,微信公眾號(hào):良許Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux系統(tǒng)unlink命令的使用

    Linux 刪除文件,我們通常使用 rm 命令。除此以外,還有另外一個(gè)命令,可以用于刪除文件和鏈接,這就是 unlink 命令。雖然它
    發(fā)表于 09-13 14:29 ?2126次閱讀

    如何使用Linux kill命令

    Linux是一個(gè)很棒操作系統(tǒng),但是還不完美。有時(shí),某些應(yīng)用程序可能會(huì)開始出現(xiàn)異常行為,并變得無響應(yīng)或開始消耗大量系統(tǒng)資源。
    發(fā)表于 12-07 17:14 ?1072次閱讀

    為什么不建議用kill-9關(guān)閉程序?

    相信不少Linux運(yùn)維小伙伴在實(shí)際運(yùn)維中經(jīng)常會(huì)用到kill -9 進(jìn)程ID 這個(gè)命令來干掉程序。實(shí)際真的合理嗎,今天就讓我們一起來看看為什么技術(shù)牛人都不建議用kill -9關(guān)閉程序,看
    的頭像 發(fā)表于 12-04 09:39 ?2928次閱讀
    為什么不建議用<b class='flag-5'>kill</b>-9關(guān)閉程序?

    linux運(yùn)維命令大全

    是對(duì)Linux高端運(yùn)維實(shí)用命令的簡(jiǎn)單匯總:1. bash常用任務(wù)管理命令&,Ctrl-Z,Ctrl-C,jobs,fg,bg,kill等2. 基本的文件管理
    發(fā)表于 03-15 16:36

    Linux系統(tǒng)命令指南

    在“Linux 文件命令精通指南”,我們討論了利用最基礎(chǔ)和最常用 Linux 文件命令所需的基本信息。在本文中,我將對(duì)
    發(fā)表于 05-23 10:23 ?963次閱讀

    以多種方式使用”kill命令終結(jié)應(yīng)用

    無論你使用哪種操作系統(tǒng),你一定會(huì)遇到某個(gè)行為失常的應(yīng)用,它把自己鎖死并拒絕關(guān)閉。在Linux(還有Mac),你可以用一個(gè)”kill命令強(qiáng)制終結(jié)它。在這個(gè)教程,我們將展示給你多種方式
    的頭像 發(fā)表于 04-20 16:36 ?5050次閱讀
    以多種方式使用”<b class='flag-5'>kill</b>”<b class='flag-5'>命令</b>終結(jié)應(yīng)用

    Linux關(guān)于系統(tǒng)狀態(tài)的命令簡(jiǎn)單介紹

    Linux 常用命令,有些命令可以用于查看系統(tǒng)的狀態(tài),通過了解系統(tǒng)當(dāng)前的狀態(tài),能夠幫助我們更好地維護(hù)系統(tǒng)或定位問題。本文就簡(jiǎn)單介紹一下這些
    的頭像 發(fā)表于 02-02 17:50 ?2316次閱讀
    <b class='flag-5'>Linux</b>關(guān)于系統(tǒng)狀態(tài)的<b class='flag-5'>命令</b>簡(jiǎn)單<b class='flag-5'>介紹</b>

    Linux重啟命令介紹

    下面介紹Linux 操作系統(tǒng)重啟和關(guān)閉相關(guān)的命令:shutdown、reboot、init、halt、poweroff、systemctl,你可以根據(jù)需要來選擇適合的
    發(fā)表于 01-28 15:58 ?853次閱讀

    Centos linux系統(tǒng)殺死進(jìn)程如何實(shí)現(xiàn)

    結(jié)束進(jìn)程有很多方法,一般是killkillall,kill等, 簡(jiǎn)單地使用kill命令是最安全的。
    發(fā)表于 04-22 08:59 ?1329次閱讀

    linux命令無法使用怎么辦

    linux命令無法使用是怎么回事?問題分析
    發(fā)表于 05-28 09:02 ?1904次閱讀
    <b class='flag-5'>linux</b><b class='flag-5'>中</b><b class='flag-5'>命令</b>無法使用怎么辦

    Linux使用kill命令的注意事項(xiàng)

     Linux系統(tǒng)下有一個(gè)直接終止進(jìn)程的命令,這個(gè)命令的代碼也是非常霸氣,直接就是英文的kill。既然這個(gè)命令這么有“殺氣”,為了防止“誤傷”
    發(fā)表于 07-16 14:30 ?694次閱讀

    Linuxmail命令的使用教程分享

    在這里整理一下Linuxmail命令的使用。mail也是一個(gè)常用的命令,我們?cè)诤芏嗟胤蕉家玫剿热缍〞r(shí)把系統(tǒng)狀況或日志發(fā)送到我們的郵箱里等等。
    發(fā)表于 03-25 16:01 ?9次下載

    常用Linux命令介紹

    linux命令是對(duì)Linux系統(tǒng)進(jìn)行管理的命令。對(duì)于Linux系統(tǒng)來說,無論是中央處理器、內(nèi)存、磁盤驅(qū)動(dòng)器、鍵盤、鼠標(biāo),還是用戶等都是文件,
    的頭像 發(fā)表于 02-09 14:31 ?1064次閱讀

    linuxsource命令的用法

    Linux,source命令通常用于重新執(zhí)行剛修改的初始化文件,使之立即生效,而不必注銷并重新登錄。source命令可以用于讀取并執(zhí)行腳本文件
    的頭像 發(fā)表于 11-08 14:35 ?2343次閱讀

    linux重啟命令有哪些

    Linux是一種自由和開放源代碼的操作系統(tǒng),被廣泛應(yīng)用于服務(wù)器和嵌入式設(shè)備。在Linux,有多種命令用于重啟系統(tǒng)。在本文中,我們將詳細(xì)介紹
    的頭像 發(fā)表于 11-17 09:49 ?2046次閱讀