当我关闭计算机时,出现了一些恼人的延迟,在 13.10 中大约需要 5-10 秒,而在以前的版本中几乎是即时的。
在关机过程中,我按下 Esc 键取消启动画面,可以看到大部分延迟是在“要求终止所有剩余进程...”之后,然后是“终止所有剩余进程”。我用摄像机拍摄了这个过程,以检查哪些进程必须被终止,但它们没有向终端发送任何消息。
我之前在 11.10 中遇到过同样的问题,我按照答案解决了它这里,然而这在 13.10 中对我来说不起作用。
如何确定关机过程延迟的原因并解决它?
答案1
启用对行为不当应用程序的报告:
使用您最喜欢的文本编辑器打开
/etc/init.d/sendsigs
,使用 root 权限(例如sudo vi /etc/init.d/sendsigs
或gksu /etc/init.d/sendsigs
)。搜索该行#report_unkillable
并取消注释(即删除#
标签)。保存文件。确保已启用 apport:编辑文件,
/etc/default/apport
使其显示为enabled=1
。(如果已启用,enabled=0
则重新启动,这样 apport 就可以启动。)关闭。
下次启动时
apport
应该会出现一条消息,告诉您某个程序出现了某种问题。这就是导致延迟的原因。并且应该有一个崩溃报告/var/crash
。(如果 apport 没有报告名称,则只需查看崩溃文件,在文件末尾会有类似 的内容Title: MISBEHAVING_PROGRAMNAME does not terminate at computer shutdown
)
答案2
关机总是很慢还是会变化?如果是后者,关机前你做了什么?你是否做了一些需要大量磁盘写入的操作,可能需要先结束这些操作,然后才能终止所有进程?
您可以按照以下方式在关闭之前保存所有进程的列表:
ps -A > 进程.txt
关机前。
您可以按照以下步骤查看重启后可能发生的任何错误:
dmesg |尾部
希望这可以帮助
坦率
答案3
你试过这个吗?打开终端并输入
sudo shutdown now
这可能会有帮助。