Bou*_*ams 15 python command-line suspend lid
我正在运行一个需要几个小时才能完成的 python 程序。如果我合上笔记本电脑的盖子(即我将其置于睡眠状态),当我重新打开笔记本电脑时程序会重新启动吗?已经几个小时了,我必须尽快离开(所以我需要关闭我的笔记本电脑),但我不想再次开始这个过程。程序会从完全相同的点开始吗?Ubuntu 16.04 中的默认行为是什么?
仅供参考,我正在对不使用任何网络资源的分类器进行交叉验证 - 仅使用 CPU 和 RAM。
Oli*_*Oli 29
简单的答案是肯定的,但事实要复杂一些。
是的,应用程序仍将运行;它将与系统的其余进程一起恢复。然而,有状态的东西,如网络连接和图形驱动程序状态。这些需要使用外部硬件重新初始化,这可能意味着开始时会增加一些网络延迟,甚至是适当的断开连接重新连接(就像我在以太网上发生的那样)。在特别糟糕的情况下——绝对是规则的例外——整个桌面环境可能会崩溃并重新启动。
所以我不能保证你会发生什么。如果您的应用程序在失去网络连接时崩溃,则可能存在问题。如果它在做渲染或 CUDA/OpenCL 的东西,它可能会坏掉。
如果它只是一个普通的 CPU/磁盘东西,它应该没问题。
但谁知道呢。电脑让我们所有人都傻了。
祝你好运。
当您挂起系统(使其进入睡眠状态)时,它会存储其所有 CPU 寄存器等,这些寄存器代表当前在您的 RAM 中执行的操作,然后关闭大多数组件的电源,除了那些保留 RAM 内容的组件和唤醒计算机所需的组件稍后再次启动(输入设备等)。
当您稍后再次唤醒它时,之前的状态会恢复,并且计算机会在您暂停它的地方继续运行。
这是主要概念,当然在现实中会发生更多,因为所有这些都不会在剪断手指时神奇地发生。有许多系统脚本等涉及在挂起之前和唤醒之后运行。
但是,除非您手动设置一些东西来执行此操作,否则挂起计算机永远不会关闭任何正在运行的应用程序。在此过程中出现崩溃的风险很小,但通常如果它工作一次,它总是工作。