我刚刚将我的电脑从 ubuntu 12.10 升级到 ubuntu 13.04,现在当我要关闭电脑时,它无法完全关闭。即使电源处于“关闭”状态,它仍会继续运行。有什么建议吗?
答案1
我修改了负责发送分配延迟的终止信号的脚本 /etc/init.d/sendsigs,并减少了它在 2 次迭代中终止剩余进程所需的时间。无论是否正常,它都能在我的系统上完成工作,并且不再在关机和重启时挂起。
以下是 /etc/init.d/sendsigs 的一部分,其中修改由 # <--- 表示:
# Kill all processes.
log_action_begin_msg "Asking all remaining processes to terminate"
killall5 -15 $OMITPIDS # SIGTERM
log_action_end_msg 0
alldead=""
OMITPIDS0="$OMITPIDS"
#for seq in 1 2 3 4 5 6 7 8 9 10; do # this is the original line
for seq in 1 2; do # <--- the above line is replaced by this one.
然后在脚本的下部:
# Upstart has a method to set a kill timeout and so the job author
# may want us to wait longer than 10 seconds (as in the case of
# mysql). (LP: #688541)
#
# We will wait up to 300 seconds for any jobs in stop/killed state.
# Any kill timeout higher than that will be overridden by the need
# to shutdown. NOTE the re-use of seq from above, since we already
# waited up to 10 seconds for them.
while [ -n "$(upstart_killed_jobs)" ] ; do
seq=$(($seq+1))
#if [ $seq -ge 300 ] ; then # this is the original line
if [ $seq -ge 2 ] ; then # <--- I can't wait for another 300 iteration
break
fi
注意:这可能不是最好的解决方案,因为原始脚本在其他系统上运行,对于像我这样的系统,其中几个建议的解决方案不适用 - 这是我可以分享的,考虑到我只将系统作为工作站运行,在关闭所有桌面应用程序后没有运行任何关键服务,然后才单击关机或重启图标。
使用的系统是华硕 X550DP 笔记本电脑。
答案2
尝试命令
sudo shutdown -P now
在终端。
如果广播后状态仍然有效,则按住电源键 5 秒钟强制关机,然后重启并转到
/etc/default/halt
并强行添加
INIT_HALT = power_off
(正如上面的 mauro 所指出的)这必须通过正常关机或从终端关机才能再次工作。
答案3
这可能是一个错误。请检查下面的链接:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1010981
答案4
我发现这个以及默认安装的‘调制解调器管理器’存在问题。
除非你使用调制解调器(这在当今不太可能),否则你可以
sudo apt-get remove modemmanager
请参阅我关于查看关机进度的评论。