當程式凍結並且 Ubuntu 變得無響應時,我可以從終端執行某些操作嗎?

當程式凍結並且 Ubuntu 變得無響應時,我可以從終端執行某些操作嗎?

我正在正常工作,突然一個程式崩潰了:它沒有回應,視窗變成灰色。之後確實出現了這條訊息,詢問該怎麼做:關閉程式或等待它回應。

我選擇關閉程序,但它沒有按預期工作:整個 ubuntu 確實凍結了,我什麼也做不了。

然後我意識到打字Ctrl + Alt + t可以打開終端,而且它確實有效:它打開了終端。但我不知道下一步該做什麼

所以我的問題是:如果程式凍結,從終端該怎麼辦?就我而言,它是 nautilus(我正在連接到遠端伺服器,將其用作 FTP 程式),最後我使用sudo reboot.

太糟糕了。本來會好得多關閉無回應的程序,但我該怎麼做呢?如果我不知道無回應程式的名稱怎麼辦?

供參考,我讀過這個主題“UI 元素變得完全無回應「我不認為這裡的情況是一樣的,因為我通常不會遇到這個問題,這有點不常見,而且內存工作正常,而且機器是一台相當新的機器(英特爾酷睿 i7,8 Gb 內存) ) 。

答案1

你可以做xkill。這個漂亮的小實用程式會自動攻擊您點擊的下一個視窗。

您可以使用的另一個選項是稱為topor 的選項htop。尋找奇怪的進程,尤其是標記為「殭屍」或佔用大量系統資源的進程。然後你可以使用密鑰殺死它K。使用終止代碼 9,因為這會導致進程立即強制終止。

說不好的程序是nautilus。使用以下方法之一:

  1. xkill在終端機中使用並點擊 Nautilus 視窗。 X 將終止其會話,導致 Nautilus 崩潰。向密鑰發送垃圾郵件ESC幾秒鐘,以確保 Xkill 仍然沒有運行。
  2. killall -9 nautilus
  3. 運行top、尋找nautilus並從頂部殺死它。

請注意,您可能需要使用sudo權限來終止某些進程。

答案2

我們基於終端的系統的一大優勢是答案聽起來是肯定的。

control我通常做的是用- alt-切換到終端 1(你的桌面總是在終端 7)f1

如果您知道程式是什麼,這將非常簡單:找到該任務的進程 ID 並殺死它。該任務將在終端 7 上消失,如果這修復了崩潰,您的系統將再次回應。

使用 Firefox 的範例:當您啟動 Firefox 時,它會取得一個進程 ID,您可以使用ps -ef | grep firefox.將 Firefox 替換為您想要搜尋的任何內容。

ps -ef |grep firefox
rinzwind  5046  1484 48 19:52 ?        00:00:01 /usr/lib/firefox/firefox
rinzwind  5113  4992  0 19:52 pts/4    00:00:00 grep --color=auto firefox

(引用grep的過程是我的命令)

我的登入名稱後面的第一個數字是進程 ID。kill -9 5046將殺死火狐:

~$ kill -9 5046
~$ ps -ef |grep firefox
rinzwind  5148  4992  0 19:54 pts/4    00:00:00 grep --color=auto firefox

Firefox 從我的桌面上消失了。

問題通常是確定正確的進程 ID:當您開啟 5 個 Firefox 會話時...取得正確的進程 ID 會是一個問題。然後您可能需要添加更多邏輯來縮小範圍。


警告:使用常識。應避免終止較低的進程 ID(500 以下)。

相關內容