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

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

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

Linux中的kill 和 killall 命令介紹

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

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

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

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


>kill

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

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

Linux 中的終止信號

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

以下是可用的終止信號:

信號 數(shù)值 描述
SIGHUP 1 信號掛斷:當(dāng)控制它的終端關(guān)閉時發(fā)送到進(jìn)程。
SIGINT 2 信號中斷:當(dāng)用戶終止進(jìn)程時發(fā)送給進(jìn)程的信號.(例如 Ctrl + X)
SIGKILL 9 Signal Kill:立即退出進(jìn)程的信號,不允許它保存當(dāng)前狀態(tài)。
SIGTERM 15 信號終止:發(fā)送到信號以請求終止進(jìn)程。該信號可以被進(jìn)程忽略。但這是終止進(jìn)程的首選方式,因為它可以在進(jìn)程收到 SIGTERM 時釋放資源。
SIGSTOP 19 (for x86, ARM and most others) 17 (for Alpha) 23 (for MIPS) 24 (for PARISC) 停止信號:停止進(jìn)程的信號,但稍后將恢復(fù)。

常用的信號 9 和 15

獲取進(jìn)程的PID

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


>pidofexact_process_name

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


>pidofjava 80751032

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

使用 kill 命令

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

要簡單地終止命令,請使用以下語法:


kill[signal]

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

我啟動了sleep 命令的后臺進(jìn)程(它給了我一個 PID)。我們使用kill命令殺死它。

殺死這個特定的實例sleep如下所示:


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

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


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

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

使用 killall 命令

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


killall[signal]

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

為了演示killall的使用,我將殺死兩個正在運行的 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

命令中可用的一些有用選項pkill如下:

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

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

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

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

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

    關(guān)注

    87

    文章

    11171

    瀏覽量

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

    關(guān)注

    37

    文章

    6606

    瀏覽量

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

    關(guān)注

    35

    文章

    1467

    瀏覽量

    85083

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

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

收藏 人收藏

    評論

    相關(guān)推薦

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

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

    如何使用Linux kill命令

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

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

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

    linux運維命令大全

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

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

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

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

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

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

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

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

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

    linux命令無法使用怎么辦

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

    Linux使用kill命令的注意事項

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

    Linuxmail命令的使用教程分享

    在這里整理一下Linuxmail命令的使用。mail也是一個常用的命令,我們在很多地方都要用到它,比如定時把系統(tǒng)狀況或日志發(fā)送到我們的郵箱里等等。
    發(fā)表于 03-25 16:01 ?9次下載

    常用Linux命令介紹

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

    linuxsource命令的用法

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

    linux重啟命令有哪些

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