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

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

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

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

Linux愛好者 ? 來源:未知 ? 作者:胡薇 ? 2018-04-20 16:36 ? 次閱讀

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

Kill命令和信號

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

你可以用這個命令看到所有信號的列表:

kill -l

SIGTERM – 此信號請求一個進(jìn)程停止運行。此信號是可以被忽略的。進(jìn)程可以用一段時間來正常關(guān)閉,一個程序的正常關(guān)閉一般需要一段時間來保存進(jìn)度并釋放資源。換句話說,它不是強制停止。

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

使用”kill”的語法是:

kill [信號或選項] PID(s)

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

kill SIGKILL PID

或者

kill -9 PID

這里”-9″代表著SIGKILL信號。

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

ps ux

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

例如,要kill掉Chrome,我會運行命令:

kill -9 3629

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

kill -9 PID1 PID2 PID3

PKill

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

pkill firefox

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

pkill fire

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

Killall

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

killall firefox

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

killall nautilus

xkill

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

結(jié)論

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

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

    關(guān)注

    11

    文章

    2741

    瀏覽量

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

    關(guān)注

    35

    文章

    1466

    瀏覽量

    84836

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

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

收藏 人收藏

    評論

    相關(guān)推薦

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

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

    常見的shell命令之其他命令

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

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

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

    新人剛接觸kill5,求助

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

    Kill4怎么使用?

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

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

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

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

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

    Linux使用kill命令的注意事項

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

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

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

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

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

    socat命令如何在多種場景下實現(xiàn)

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

    Linux中的kill 和 killall 命令介紹

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

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

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

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

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

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

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