如何使用xkill命令殺掉Linux程式/未響應的程式
我們如何在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命令可以更好地審視你要殺掉的程式。
我們已經有一篇覆蓋了kill、pkill和killall命令細節的指導了。
對於那些執行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
使用xkill殺掉程式
需要注意的是xkill並不能保證它的通訊會被成功殺掉/退出。大多數程式會在與服務端的通訊被關閉後殺掉。然而仍有少部分會繼續執行。
需要指出的點是:
- 這個工具只能在X11 server執行的時候才能使用,因為這是X11工具的一部分。
- 不要在你殺掉一個資源而它沒有完全退出時而困惑。
- 這不是kill的替代品
我需要在linux命令列中使用xkill麼
不是,你不必非在命令列中執行xkill。你可以設定一個快捷鍵,並用它來呼叫xkill。
下面是如何在典型的gnome3桌面中設定鍵盤快捷鍵。
進入設定-> 選擇鍵盤。點選'+'並新增一個名字和命令。點選點選新條目並按下你想要的組合鍵。我的是Ctrl+Alt+Shift+x。
Gnome 設定
新增快捷鍵
下次你要殺掉一個X資源只要用組合鍵就行了(Ctrl+Alt+Shift+x),你看到你的滑鼠變成x了。點選想要殺掉的x資源就行了。
via: http://www.tecmint.com/kill-processes-unresponsive-programs-in-ubuntu/
作者:Avishek Kumar 譯者:geekpi 校對:wxy
相關文章
- linux批量殺掉程式linux批量殺掉程式Linux
- Linux如何殺掉殭屍程式Linux
- 如何在無響應的Linux系統中殺掉記憶體消耗最大的程式Linux記憶體
- 殺掉鎖死的程式
- 使用awk批次殺程式的命令
- 如何殺掉一個使用者下的所有程式並drop掉這個使用者
- Linux下批次殺掉 包含某個關鍵字的 程式程式Linux
- Oracle徹底殺掉程式Oracle
- 殺掉長期inactive的程式
- 如何在macOS Monterey中強制退出未響應程式?Mac
- Linux如何檢視程式、殺死程式、啟動程式等常用命令Linux
- 什麼是殭屍程式,如何找到並殺掉殭屍程式?
- ORACLE中殺掉一個程式Oracle
- 殺掉aspnet_wp程式
- 【sqlserver】殺掉所有死鎖程式SQLServer
- windows上殺掉指定名稱的程式Windows
- Linux基礎命令—殺死程式pkillLinux
- Linux基礎命令---殺死程式pkillLinux
- Linux基礎命令---殺死程式killallLinux
- oracle生成批量殺掉active程式的sqlOracleSQL
- 教你如何使用tcpkill殺掉tcp連線TCP
- 終止程式的工具 kill 、killall、pkill、xkill
- 將程式在後臺執行和殺掉後臺的程式
- 如何殺掉Teradata的sessionSession
- notification後,程式應該如何響應
- 應急響應命令(Linux)Linux
- wdaproxy 啟動,即被系統殺掉程式,求解。
- 在UNIX環境下批次殺掉ORACLE程式Oracle
- linux 下粗暴殺掉 oracleLinuxOracle
- Window 通過cmd檢視埠占用、相應程式、殺死程式等的命令
- linux下如何批量殺JAVA程式或某個程式方法LinuxJava
- 實現關閉程式函式,殺掉pchunter函式
- 使用Reactor響應式程式設計React程式設計
- 應急響應-webshell查殺Webshell
- 【譯】如何使用PHP快速構建命令列應用程式PHP命令列
- Linux中如何檢視日誌命令中的響應狀態?Linux
- “旁觀者效應”是如何毀掉我們的程式碼的
- 【技巧】如何讓普通使用者可以殺掉自己使用者的會話會話