在电源管理中,我选择了“合上盖子时暂停”选项。如果我合上盖子,计算机不会暂停。它会保持运行状态。我该如何解决这个问题?
答案1
这种情况通常发生在某些进程阻止系统挂起时。
做
dmesg -T|grep Freez -A4
并查找以下条目:
--
[sun mar 3 15:19:48 2013] Freezing user space processes ...
[sun mar 3 15:20:08 2013] Freezing of tasks failed after 20.01 seconds (3 tasks refusing to freeze, wq_busy=0):
[sun mar 3 15:20:08 2013] mount.nfs D e8631aa0 0 5518 5517 0x00800004
[sun mar 3 15:20:08 2013] e8631b10 00000086 f7bc0e00 e8631aa0 c1053cb4 c1809020 c192ee00 c192ee00
--
检查时间戳,查看哪些报告的问题与您尝试暂停有关。在这种情况下,正是它mount.nfs
导致了问题。
现在,将脚本放入 中/etc/pm/sleep.d/
,其中的脚本将在挂起和恢复时运行。文件名应以排序号开头,用户脚本的排序号为 00-49(有关详细信息,请参阅man pm-suspend
)。
脚本可能看起来像这样
#!/bin/sh
(killall -1 mount.nfs; exit 0)
如果有的话,请列出导致问题的其他进程的对应条目。
括号和exit 0
是一个技巧:如果找不到进程,killall
将以退出代码 1 退出,这将取消整个挂起。上面的代码将killall
在以 0 退出的子 shell 中运行。
如果您遇到问题,请检查/var/log/pm-suspend.log
是否记录暂停和运行脚本的尝试。
答案2
当您选择挂起选项而不是关闭盖子时,计算机是否会挂起?
检查暂停日志/var/log/pm-suspend.log
这也许可以告诉您为什么它没有暂停。