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

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

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

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

Linux愛(ài)好者 ? 來(lái)源:未知 ? 作者:胡薇 ? 2018-04-20 16:36 ? 次閱讀

無(wú)論你使用哪種操作系統(tǒng),你一定會(huì)遇到某個(gè)行為失常的應(yīng)用,它把自己鎖死并拒絕關(guān)閉。在Linux(還有Mac),你可以用一個(gè)”kill”命令強(qiáng)制終結(jié)它。在這個(gè)教程中,我們將展示給你多種方式使用”kill”命令終結(jié)應(yīng)用。

Kill命令和信號(hào)

當(dāng)你執(zhí)行一個(gè)”kill”命令,你實(shí)際上發(fā)送了一個(gè)信號(hào)給系統(tǒng),讓它去終結(jié)不正常的應(yīng)用。總共有60個(gè)你可以使用的信號(hào),但是基本上你只需要知道SIGTERM(15)和SIGKILL(9)。

你可以用這個(gè)命令看到所有信號(hào)的列表:

kill -l

SIGTERM – 此信號(hào)請(qǐng)求一個(gè)進(jìn)程停止運(yùn)行。此信號(hào)是可以被忽略的。進(jìn)程可以用一段時(shí)間來(lái)正常關(guān)閉,一個(gè)程序的正常關(guān)閉一般需要一段時(shí)間來(lái)保存進(jìn)度并釋放資源。換句話說(shuō),它不是強(qiáng)制停止。

SIGKILL – 此信號(hào)強(qiáng)制進(jìn)程立刻停止運(yùn)行。程序不能忽略此信號(hào),而未保存的進(jìn)度將會(huì)丟失。

使用”kill”的語(yǔ)法是:

kill [信號(hào)或選項(xiàng)] PID(s)

默認(rèn)信號(hào)(當(dāng)沒(méi)有指定的時(shí)候)是SIGTERM。當(dāng)它不起作用時(shí),你可以使用下面的命令來(lái)強(qiáng)制kill掉一個(gè)進(jìn)程:

kill SIGKILL PID

或者

kill -9 PID

這里”-9″代表著SIGKILL信號(hào)。

如果你不知道應(yīng)用的PID,僅需要運(yùn)行這個(gè)命令:

ps ux

它會(huì)顯示所有正在運(yùn)行的應(yīng)用還有應(yīng)用的PID。

例如,要kill掉Chrome,我會(huì)運(yùn)行命令:

kill -9 3629

也可以在同一時(shí)間kill多個(gè)進(jìn)程。

kill -9 PID1 PID2 PID3

PKill

“pkill”命令允許使用擴(kuò)展的正則表達(dá)式和其它匹配方式。你現(xiàn)在可以使用應(yīng)用的進(jìn)程名kill掉它們,而不是使用PID。例如,要kill掉Firefox瀏覽器,只需要運(yùn)行命令:

pkill firefox

使用正則表達(dá)式匹配的話,你可以輸入進(jìn)程名的部分字符,比如:

pkill fire

為了避免kill掉錯(cuò)誤的進(jìn)程,你應(yīng)該用一下”pgrep -l [進(jìn)程名]”列表來(lái)匹配進(jìn)程名稱。

Killall

killall同樣使用進(jìn)程名替代PID,并且它會(huì)kill掉所有的同名進(jìn)程。例如,如果你正在運(yùn)行多個(gè)Firefox瀏覽器的實(shí)例,可以用命令把它們?nèi)縦ill掉:

killall firefox

在Gnome中,你可以使用這個(gè)命令重啟Nautilus:

killall nautilus

xkill

xkill 是圖形方式kill一個(gè)應(yīng)用。當(dāng)你在終端鍵入”xkill”,你的光標(biāo)將立刻變成一個(gè)”十字”。你只需要做的是在不正常的應(yīng)用上點(diǎn)擊一下,它就會(huì)立刻kill掉這個(gè)應(yīng)用。如果你經(jīng)常用的話,你也可以添加一個(gè)鍵盤(pán)快捷鍵來(lái)激活xkill。

結(jié)論

當(dāng)應(yīng)用不正常而導(dǎo)致系統(tǒng)掛起的時(shí)候,人們往往重啟計(jì)算機(jī)并且再一次開(kāi)啟所有的任務(wù)。而有了這些”kill”命令,你將能夠更好的處理不正常的應(yīng)用,從而避免導(dǎo)致系統(tǒng)崩潰。當(dāng)你不想因一個(gè)不正常的進(jìn)程而導(dǎo)致服務(wù)器宕機(jī)時(shí),它尤其的有用。

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

    關(guān)注

    11

    文章

    2767

    瀏覽量

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

    關(guān)注

    35

    文章

    1467

    瀏覽量

    85083

原文標(biāo)題:精通 Linux 的 “kill” 命令

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    常見(jiàn)的shell命令之其他命令

    :elf@ubuntu:~$ man ls3、su/sudo用戶切換命令sudo:暫時(shí)切換到超級(jí)用戶執(zhí)行超級(jí)用戶權(quán)限su:切換到某某用戶4、who命令:who功能:顯示關(guān)于當(dāng)前在本地系統(tǒng)上的所有
    發(fā)表于 08-21 09:49

    嵌入式學(xué)習(xí)-常見(jiàn)的shell命令之其他命令

    :elf@ubuntu:~$ man ls3、su/sudo用戶切換命令sudo:暫時(shí)切換到超級(jí)用戶執(zhí)行超級(jí)用戶權(quán)限su:切換到某某用戶4、who命令:who功能:顯示關(guān)于當(dāng)前在本地系統(tǒng)上的所有
    發(fā)表于 08-22 09:42

    新人剛接觸kill5,求助

    [size=13.63636302947998px]kill5能開(kāi)發(fā)51單片機(jī)嗎,51單片機(jī)的固件庫(kù)是什么?[size=13.63636302947998px]裝kill4的時(shí)候 里面沒(méi)有STM32的固件庫(kù),同時(shí)裝kill4和
    發(fā)表于 03-09 22:50

    Kill4怎么使用?

    Kill4怎么使用?
    發(fā)表于 10-09 08:27

    kill結(jié)構(gòu)中的參數(shù)RFU和RECOM是什么意思

    我嘗試殺死一個(gè) TAG,我使用不同的配置但沒(méi)有得到不同的答案。我相信如果殺死一個(gè)標(biāo)簽,我的讀者就不可能識(shí)別出她,但在我使用 kill 命令后,我的標(biāo)簽仍然被我的讀者讀取。我想了解kill 結(jié)構(gòu)中的參數(shù)RFU和RECOM是什么意思
    發(fā)表于 12-23 06:22

    如何用Linux下命令KILL掉一個(gè)進(jìn)程?

    殺死一個(gè)沒(méi)有響應(yīng)的進(jìn)程的第一個(gè)步驟是定位這個(gè)進(jìn)程。我用來(lái)定位進(jìn)程的命令有兩個(gè):top 和 ps 命令。top 是每個(gè)系統(tǒng)管理員都知道的工具,用 top 命令,你能夠知道到所有當(dāng)前正在運(yùn)行的進(jìn)程有哪些。
    發(fā)表于 04-26 14:30 ?1268次閱讀

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

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

    還在使用kill -9 pid結(jié)束spring boot項(xiàng)目嗎?

    查看(這段話來(lái)自菜鳥(niǎo)教程)。 講的這個(gè)復(fù)雜,簡(jiǎn)單點(diǎn)來(lái)說(shuō)就是用來(lái)殺死linux中的進(jìn)程,啥?你問(wèn)我啥是進(jìn)程?請(qǐng)自行百度。 我相信很多人都用過(guò)kill -9 pid 這個(gè)命令,徹底殺死進(jìn)程的意思,一般情況我們使用它沒(méi)有上面問(wèn)題,但是在我們項(xiàng)目中使用它就有可能存在致命的問(wèn)
    的頭像 發(fā)表于 04-13 16:01 ?1333次閱讀
    還在使用<b class='flag-5'>kill</b> -9 pid結(jié)束spring boot項(xiàng)目嗎?

    還在使用kill -9 pid結(jié)束spring boot項(xiàng)目嗎?

    查看(這段話來(lái)自菜鳥(niǎo)教程)。 講的這個(gè)復(fù)雜,簡(jiǎn)單點(diǎn)來(lái)說(shuō)就是用來(lái)殺死linux中的進(jìn)程,啥?你問(wèn)我啥是進(jìn)程?請(qǐng)自行百度。 我相信很多人都用過(guò)kill -9 pid 這個(gè)命令,徹底殺死進(jìn)程的意思,一般情況我們使用它沒(méi)有上面問(wèn)題,但是在我們項(xiàng)目中使用它就有可能存在致命的問(wèn)
    的頭像 發(fā)表于 04-13 16:01 ?1460次閱讀
    還在使用<b class='flag-5'>kill</b> -9 pid結(jié)束spring boot項(xiàng)目嗎?

    socat命令如何在多種場(chǎng)景下實(shí)現(xiàn)

    Socat或SOcket CAT是一個(gè)基于 Linux 命令行/終端的實(shí)用程序,用于在兩個(gè)雙向字節(jié)流之間建立和傳輸數(shù)據(jù)。 socat命令可以在多種場(chǎng)景下實(shí)現(xiàn),主要有兩個(gè)原因:
    的頭像 發(fā)表于 09-06 09:02 ?3096次閱讀

    Linux中的kill 和 killall 命令介紹

    如果進(jìn)程在前臺(tái)運(yùn)行,你可以使用 Ctrl+C 終端快捷方式。但是,如果進(jìn)程不可見(jiàn)(在后臺(tái)運(yùn)行),你可以使用專用命令殺死它。
    的頭像 發(fā)表于 10-09 10:27 ?3162次閱讀

    求求你們別再用kill -9了,這才是Spring Boot停機(jī)的正確方式

    kill -9 pid 可以模擬了一次系統(tǒng)宕機(jī),系統(tǒng)斷電等極端情況,而kill -15 pid 則是等待應(yīng)用關(guān)閉,執(zhí)行阻塞操作,有時(shí)候也會(huì)出現(xiàn)無(wú)法關(guān)閉應(yīng)用的情況(線上理想情況下,是bug就該尋根溯源)
    的頭像 發(fā)表于 05-15 14:56 ?719次閱讀

    linux關(guān)閉docker的命令

    在 Linux 系統(tǒng)中,關(guān)閉 Docker 的操作可以通過(guò)以下多種方式進(jìn)行。本文將詳細(xì)講解每一種方式,并提供示例代碼和命令,幫助讀者更好地
    的頭像 發(fā)表于 11-23 09:39 ?2613次閱讀

    關(guān)于Docker 的清理命令集錦

    這篇文章主要介紹了Docker 清理命令集錦,需要的朋友可以參考下 復(fù)制代碼代碼如下: docker kill $(docker ps -a -q) ?刪除所有已經(jīng)停止的容器 復(fù)制代碼代碼如下
    的頭像 發(fā)表于 06-13 15:56 ?271次閱讀