如何使“暂停”选项起作用?

6 suspend

在电源管理中,我选择了名为“合上盖子时暂停”的选项。如果我合上盖子,计算机不会暂停。它保持自己。我怎么解决这个问题?

Car*_*arl 4

当某些进程阻止系统挂起时,通常会发生这种情况。

dmesg -T|grep Freez -A4
Run Code Online (Sandbox Code Playgroud)

并查找这些条目:

--
[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
--
Run Code Online (Sandbox Code Playgroud)

检查时间戳以查看报告的哪些问题与您的尝试挂起相关。在这种情况下,正是它mount.nfs造成了问题。

现在,将脚本放入 中/etc/pm/sleep.d/,其中的脚本将在挂起和恢复时运行。文件名应以订购号开头,对于用户脚本来说是 00-49(有关更多详细信息,请参阅man pm-suspend)。

脚本可能看起来像这样

#!/bin/sh
(killall -1 mount.nfs; exit 0)
Run Code Online (Sandbox Code Playgroud)

以及引起问题的其他进程的相应条目(如果有)。

括号 和exit 0是一个技巧:如果没有找到进程,killall将以退出代码 1 退出,这将取消整个挂起。killall上面的代码将在一个子 shell 中运行,该子 shell 将以 0 退出。

如果您遇到问题,请检查/var/log/pm-suspend.log是否会记录暂停和运行脚本的尝试。


小智 3

当您选择暂停选项而不是合上盖子时,计算机是否会暂停?

检查挂起日志/var/log/pm-suspend.log

这可能会告诉你为什么它没有暂停。