如何從linux終端終止程序

殺死一個程序有時是擺脫它的唯一方法。儘管名字很刺耳,“殺死”一個程序只是意味著“強迫它退出”。...

殺死一個程序有時是擺脫它的唯一方法。儘管名字很刺耳,“殺死”一個程序只是意味著“強迫它退出”。

什麼是過程(a process)?

執行諸如web瀏覽器之類的程式、與桌面環境相關聯的後臺程序以及Linux系統服務都是程序。

您可以將流程分為兩組:

  • 前臺程序是由使用者啟動或啟動的程序。它們可以在終端視窗中,也可以是圖形應用程式。
  • 後臺程序是所有自動啟動的程序,與使用者沒有任何互動。他們不期望使用者的輸入,也不向他們呈現結果或輸出。後臺程序類似於服務和守護程序。

如果前臺流程是劇院工作人員和演員的前臺,後臺流程是後臺“幕後”團隊。

當程序行為不正常或出現故障時,它們可能佔用太多的CPU時間,消耗RAM,或者進入一個緊密的計算迴圈而變得無響應。圖形應用程式可以拒絕響應滑鼠單擊。終端應用程式可能永遠不會返回命令提示符。

人道的回答

“殺死”一個程序只意味著“強迫程序退出”。如果程序拒絕響應,這可能是必要的。

Linux提供了kill、pkill和killall命令,允許您這樣做。這些命令可以用於任何型別的程序,圖形或命令列,前臺或後臺。

殺戮命令

要使用kill,必須知道要終止的程序的程序ID(PID)。ps命令可用於查詢程序的PID。

要讓ps搜尋所有程序,請使用-e(all processs)選項。透過管道輸出較少是可取的,將有相當一部分。鍵入ps,一個空格,-e,一個空格,|(管道字元),另一個空格,然後鍵入less。按Enter鍵執行命令。

ps -e | less

如何從linux終端終止程序

這將為您提供一個與下面的螢幕截圖類似的流程列表。您可以使用/鍵以較少的速度向前搜尋,也可以使用?鑰匙。

如何從linux終端終止程序

要了解您感興趣的程序,請透過grep將ps的輸出透過管道傳遞,並指定程序的名稱或部分名稱。

ps -e | grep shutter

如何從linux終端終止程序

找到要終止的程序的PID後,將其作為引數傳遞給kill命令。要終止上一個命令標識的快門程序,請使用以下命令:

kill 2099

如何從linux終端終止程序

殺戮命令是一個沉默的刺客,它不會給你任何反饋,如果它是成功的。

pkill命令

pkill命令允許您按名稱終止一個或多個程序。您不需要透過PID來標識程序。要使用pkill,請提供一個搜尋詞,pkill使用該搜尋詞檢查正在執行的程序列表。匹配程序被終止。所以你必須肯定你已經把搜尋詞拼寫正確了。

作為安全網,可以在使用pkill命令之前使用pgrep命令。pgrep命令還接受搜尋項。它將列出與搜尋項匹配的每個程序的PID。這是安全的,因為pgrep不會向程序發出任何終止訊號,並且如果錯誤地鍵入搜尋詞,則不會錯誤地終止另一個程序。在將搜尋詞傳遞給pkill之前,可以確保您已經正確地考慮了它。pkill和pgrep對搜尋詞的處理方式相同。他們的處理方式如此相似,以至於他們共享同一個手冊頁。

假設有一個程序的名稱中有“subq”。我們將使用ps-u dave | grep命令來窺視幕後。您可以看到“subq”將匹配該程序和單獨的程序。這只是為了讓你能看到整個過程的全名。

ps -u dave | grep subq

如何從linux終端終止程序

假設我們的使用者沒有這樣做;他們只知道程序名包含子字串“subq”。他們使用pgrep檢查搜尋詞是否只有一個匹配項。然後他們將這個搜尋詞與pkill一起使用。

pgrep subq pkill subq

如何從linux終端終止程序

可以使用pkill一次殺死多個程序。在這裡,使用者執行pgrep來檢查Chrome啟動了多少程序。他們用pkill把他們都殺了。然後,他們與pgrep檢查,他們都已被刪除。

pgrep chrome pkill chrome pgrep chrome

如何從linux終端終止程序

如果有幾個同名的程序正在執行,但是您不想全部終止它們,那麼可以使用pgrep和-f(命令列)選項來標識哪個程序是哪個程序。一個簡單的例子是兩個ping程序。你想殺他們中的一個而不是另一個。您可以使用它們的命令列來區分它們。注意使用引號來包裝命令列引數。

pgrep -f "ping 192.168.4.22" pkill -f "ping 192.168.4.22"

如何從linux終端終止程序

killall命令

警告:在Solaris和OpenIndiana作業系統中,killall命令將殺死屬於您的所有程序。如果你是root或者你已經發布了sudo killall,你會重新啟動你的電腦!在本文的研究過程中,OpenIndiana Hipster 2018.10的最新版本證實了這種行為。

killall命令的操作方式與pkill命令類似,但有一個特定的區別。您必須提供確切的程序名稱,而不是向命令傳遞搜尋項。

不能提供與程序名稱的部分匹配;必須提供整個程序名稱,如圖所示:

killall shutt killall shutter

如何從linux終端終止程序

-y(小於)選項允許您終止執行時間少於指定時間段的程序。週期以數字表示,後跟以下單位之一:

  • 秒(秒)
  • m(分鐘)
  • h(小時)
  • d(天)
  • w(周)
  • M(月,注,大寫“M”)
  • y(年)

要殺死一個剛剛啟動的名為ana的程序,並讓所有舊的ana例項繼續執行,如果您在兩分鐘內做出反應,可以對killall使用以下引數:

killall -y 2m ana

如何從linux終端終止程序

-o(早於)選項允許您終止已執行超過指定時間段的程序。此命令將終止已執行超過一天的所有ssh連線:

killall -o 1d sshd

如何從linux終端終止程序

不要太高興

這些命令將允許您準確而安全地識別和終止錯誤程序。

一定要小心謹慎。首先,確保你要殺死的程序是你真正想要的。第二,仔細檢查-小心並確保目標流程是您想要結束的流程。一旦您滿意,繼續終止該過程。

  • 發表於 2021-04-03 14:39
  • 閱讀 ( 50 )
  • 分類:網際網路

你可能感興趣的文章

從命令列關閉linux計算機的5種方法

... 讓我們依次檢視這些命令,並檢查如何以及何時使用這些命令。 ...

  • 發佈於 2021-03-14 17:35
  • 閲讀 ( 44 )

linux中殺死無響應程式的7種方法

...裝在Ubuntu中的force kill工具,但是如果需要,您可以透過終端在其他發行版上安裝它。呼叫xkill時,您可以關閉任何桌面程序。使用以下命令安裝: ...

  • 發佈於 2021-03-18 00:56
  • 閲讀 ( 49 )

linux命令參考備忘單

...便的Linux命令備忘單。如果您想執行其中的幾個,請檢視如何在帶螢幕的Linux終端上執行多工。 ...

  • 發佈於 2021-03-22 04:06
  • 閲讀 ( 56 )

啟動linux的9個基本命令

... 如何在linux下開啟終端 ...

  • 發佈於 2021-03-26 18:33
  • 閲讀 ( 56 )

linux中的程序是什麼?

... 流程如何開始 ...

  • 發佈於 2021-03-27 02:21
  • 閲讀 ( 59 )

如何在linux上殺死殭屍程序

...好的程式會讓殭屍程序潛伏在Linux計算機中。瞭解殭屍是如何產生的,以及如何讓它們最終安息。 程序狀態如何在linux上工作 當然,Linux必須跟蹤計算機上執行的所有應用程式和守護程序。其中一種方法是維護程序表。這是核...

  • 發佈於 2021-04-01 07:47
  • 閲讀 ( 55 )

如何使用linux的screen命令

...視窗推到後臺(稱為“分離”)。當你想看到你的程序是如何進行的,你可以把視窗拉到前臺(“重新連線”)並再次使用它。這對於您不希望透過關閉終端視窗意外終止的長程序來說非常有用。 一旦運行了螢幕會話,就可以...

  • 發佈於 2021-04-02 11:06
  • 閲讀 ( 49 )

如何在linux上刪除使用者(並刪除所有跟蹤)

...死他的程序之前,我們會鎖定密碼來凍結帳戶。 相關:如何使用ps命令監視Linux程序 鎖定帳戶 在終止程序之前,我們將鎖定帳戶,因為當我們終止程序時,它將登出使用者。如果我們已經更改了他的密碼,他就無法登入了。 加...

  • 發佈於 2021-04-02 15:16
  • 閲讀 ( 43 )

如何在linux上使用free命令

...用。它的輸出可能會讓新手感到困惑,但我們將向您展示如何理解它。 自由命令 free命令在終端視窗中列印記憶體使用情況的快速摘要。它沒有太多的選擇和技巧,也不需要花太多的時間和精力去學習如何使用它。然而,要學...

  • 發佈於 2021-04-02 19:12
  • 閲讀 ( 46 )

如何在linux上執行和控制後臺程序

...umber:向程序傳送SIGKILL,訊號9,並突然終止它。 相關:如何從Linux終端終止程序

  • 發佈於 2021-04-03 03:30
  • 閲讀 ( 48 )
9920523
9920523

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦