天天看點

如何使用xkill指令殺掉Linux程序/未響應的程式

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

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

<code>$ ps -a | grep -i terminal</code>

<code></code>

<code>6228 ? 00:00:00 gnome-terminal</code>

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

<code>$ kill 6228</code>

kill指令會發送一個信号給該pid的程序。

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

<code>$ pkill terminal</code>

注意: 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)參數。

要列出所有的客戶程式你可以運作:

<code>$ xlsclients</code>

<a target="_blank"></a>

<code>' ' /usr/lib/libreoffice/program/soffice</code>

<code>deb gnome-shell</code>

<code>deb docky</code>

<code>deb google-chrome-stable</code>

<code>deb soffice</code>

<code>deb gnome-settings-daemon</code>

<code>deb gnome-terminal-server</code>

如果後面沒有跟上資源id,xkill會将滑鼠指針變成一個特殊符号,類似于“x”。隻需在你要殺掉的視窗上點選,它就會殺掉它與server端的通信,這個程式就被殺掉了。

<code>$ xkill</code>

如何使用xkill指令殺掉Linux程式/未響應的程式

使用xkill殺掉程序

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

需要指出的點是:

這個工具隻能在x11 server運作的時候才能使用,因為這是x11工具的一部分。

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

這不是kill的替代品

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

不是,你不必非在指令行中運作xkill。你可以設定一個快捷鍵,并用它來調用xkill。

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

進入設定-&gt; 選擇鍵盤。點選'+'并添加一個名字和指令。點選點選新條目并按下你想要的組合鍵。我的是ctrl+alt+shift+x。

如何使用xkill指令殺掉Linux程式/未響應的程式

gnome 設定

如何使用xkill指令殺掉Linux程式/未響應的程式

添加快捷鍵

下次你要殺掉一個x資源隻要用組合鍵就行了(ctrl+alt+shift+x),你看到你的滑鼠變成x了。點選想要殺掉的x資源就行了。

<b>原文釋出時間為:2015-06-11</b>

<b>本文來自雲栖社群合作夥伴“linux中國”</b>

繼續閱讀