萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> 在Linux系統中使用xkill命令殺掉未響應的進程

在Linux系統中使用xkill命令殺掉未響應的進程

   我們如何在Linux中殺掉一個資源/進程?很明顯我們會找出資源的pid然後用kill命令。

  說的更明白一點,我們可以找到某個資源(比如terminal)的PID:

  代碼如下:

  $ ps -A | grep -i terminal

  6228 ? 00:00:00 gnome-terminal

  上面的輸出中,‘6288’就是進程(gnome-terminal)的pid, 使用下面的命令來殺掉進程。

  代碼如下:

  $ kill 6228

  kill命令會發送一個信號給該pid的進程。

  另外一個方法是我們可以使用pkill命令,它可以基於進程的名字或者其他的屬性來殺掉進程。同樣我們要殺掉一個叫terminal的進程可以這麼做:

  代碼如下:

  $ pkill terminal

  注意: pkill命令後面進程名的長度不大於15個字符

  pkill看上去更加容易上手,因為你你不用找出進程的pid。但是如果你要對系統做更好的控制,那麼沒有什麼可以打敗'kill'。使用kill命令可以更好地審視你要殺掉的進程。

  對於那些運行X Server的人而言,有另外一個工具稱為xkill可以將進程從X Window中殺掉而不必傳遞它的名字或者pid。

  xkill工具強制X server關閉與它的客戶程序之間的聯系,其結果就是X resource關閉了這個客戶程序。xkill是X11工具集中一個非常容易上手的殺掉無用窗口的工具。

  它支持的選項如在同時運行多個X Server時使用-display選項後面跟上顯示號連接到指定的X server,使用-all(並不建議)殺掉所有在屏幕上的所有頂層窗口,以及幀(-frame)參數。

  要列出所有的客戶程序你可以運行:

  代碼如下:

  $ xlsclients

  示例輸出

  代碼如下:

  ' ' /usr/lib/libreoffice/program/soffice

  deb gnome-shell

  deb Docky

  deb google-chrome-stable

  deb soffice

  deb gnome-settings-daemon

  deb gnome-terminal-server

  如果後面沒有跟上資源id,xkill會將鼠標指針變成一個特殊符號,類似於“X”。只需在你要殺掉的窗口上點擊,它就會殺掉它與server端的通信,這個程序就被殺掉了。

  代碼如下:

  $ xkill

2015723183730327.png (814×547)

  需要注意的是xkill並不能保證它的通信會被成功殺掉/退出。大多數程序會在與服務端的通信被關閉後殺掉。然而仍有少部分會繼續運行。

  需要指出的點是:

  這個工具只能在X11 server運行的時候才能使用,因為這是X11工具的一部分。

  不要在你殺掉一個資源而它沒有完全退出時而困惑。

  這不是kill的替代品

  我需要在linux命令行中使用xkill麼

  不是,你不必非在命令行中運行xkill。你可以設置一個快捷鍵,並用它來調用xkill。

  下面是如何在典型的gnome3桌面中設置鍵盤快捷鍵。

  進入設置-> 選擇鍵盤。點擊'+'並添加一個名字和命令。點擊點擊新條目並按下你想要的組合鍵。我的是Ctrl+Alt+Shift+x。

2015723183750202.png (792×499)

  Gnome 設置

2015723183828705.png (792×499)

  添加快捷鍵

copyright © 萬盛學電腦網 all rights reserved