我正在正常工作,突然一个程序崩溃了:它没有响应,窗口变灰了。之后它确实出现了这条消息询问如何做:关闭程序或等待它响应。
我选择了关闭程序,但它没有按预期工作:整个 ubuntu 都死机了,我什么也做不了。
然后我意识到打字Ctrl + Alt + t
可以打开终端,它确实起作用了:它打开了终端。但我不知道接下来要做什么。
所以我的问题是:如果程序死机了怎么办?就我而言,它是 nautilus(我正在连接到远程服务器,将其用作 FTP 程序),最后我用sudo reboot
.
糟透了。关闭无响应的程序会好得多,但我该怎么做呢?如果我不知道无响应程序的名称怎么办?
仅供参考,我读过这个主题“ UI 元素变得完全无响应”,我认为这里的情况不同,因为我通常没有这个问题,它有点不常见,内存工作正常,而且机器是一台相当新的机器(英特尔酷睿 i7、8 Gb 内存)。
你可以做到
xkill
。这个漂亮的小实用程序会自动破坏您单击的下一个窗口。您可以使用的另一个选项是
top
orhtop
。寻找一个奇怪的进程,尤其是标记为“僵尸”或占用大量系统资源的进程。然后你可以使用K钥匙杀死它。使用 kill code 9,因为它会立即强制终止进程。说坏程序是
nautilus
。使用以下方法之一:xkill
并单击 Nautilus 窗口。X 将终止其会话,导致 Nautilus 崩溃。向密钥发送垃圾邮件ESC几秒钟,以确保 Xkill stll 没有运行。killall -9 nautilus
top
,寻找nautilus
,并从顶部杀死它。请注意,您可能需要使用
sudo
特权来终止某些进程。我们拥有的基于终端的系统的一大优势是答案听起来是肯定的。
我通常做的是用control- alt-切换到终端 1(你的桌面总是在终端 7) f1。
如果您知道该程序是什么,这将非常简单:找到该任务的进程 ID 并终止它。该任务将在终端 7 上消失,如果这修复了崩溃,您的系统将再次响应。
使用 firefox 的示例:当您启动 firefox 时,它会获得一个进程 ID,您可以使用
ps -ef | grep firefox
. 将 firefox 替换为您要搜索的任何内容。(指的是grep的过程是我的命令)
我的登录名后面的第一个数字是进程 ID。
kill -9 5046
将杀死火狐:Firefox 在我的桌面上消失了。
问题通常是识别正确的进程 ID:当您打开 5 个 firefox 会话时...获得正确的进程 ID 会有点问题。然后您可能需要添加更多逻辑来缩小范围。
警告:使用常识。应避免杀死较低的进程 ID(低于 500)。