恢复麻烦:内核如何知道它应该恢复?

恢复麻烦:内核如何知道它应该恢复?

今天我遇到了一个新的挂起/恢复问题。在装有 Ubuntu 17.04 的 Dell Precision 5510 上,一切正常。但现在,恢复不起作用。我总是重新启动。

昨天,我有一个失控的脚本,它使 UI 瘫痪了。我犯了一个编程错误,导致这个脚本消耗了所有系统资源。我去了另一台计算机,并通过 ssh 连接到这台“冻结”的计算机。我尝试以老式的方式关闭系统:

/sbin/shutdown -h now

然而,等了 20 分钟后,我放弃了,按住了电源按钮。这东西会启动,也会挂起。如果我打开盖子,它会自动唤醒。这就是我知道机器实际上已挂起的原因,它会自动启动。

但是,暂停后机器会重新启动,而不是恢复。

我的工作理论是,非正常崩溃损坏了设置文件,该文件必须在挂起期间重写。该文件是 RAM 恢复正常(而不是重新启动)的信号。

我不确定是否存在用于暂停/恢复的文件,但我在这里发现有关 hybernate/resume 的评论,它说它使用状态文件来判断它是否可以尝试恢复会话。

我预计这个问题会在一些软件包更新后随机消失,但它让我非常好奇系统如何检查是否应该重新启动。

答案1

关机、重启、再关机、再重启后问题消失。之后,我经历了 3 次挂起/恢复,没有出现意外重启。

不过,我很好奇想了解这是如何工作的,内核如何知道恢复而不是暂停。

相关内容