如果Mac睡眠,终端进程会停止吗?


23

我正在通过Terminal运行一些Python机器学习程序,一次要花几个小时才能完成。如果我无人照管计算机,它将进入休眠状态-屏幕关闭,我必须再次输入密码。

发生这种情况时,我的脚本是否会被取消,暂停或继续?我不愿意认为我的脚本可以完成99%,然后由于计算机进入睡眠状态而中止。


为了防止Mac入睡,咖啡因是一个有用的小工具。
埃米尔(Emil)

15
另外,您的Mac还具有一个称为caffeinate的内置工具。如果在终端命令之前添加例如caffeinate,caffeinate python ...它将在此特定命令的长度内不会休眠。
0942v8653 '17

Answers:


21

当系统进入睡眠状态时,所有进程都会暂停,而与该进程是macOS,应用程序还是您自己编写的某些代码无关。系统再次唤醒后,所有进程将继续运行。


2
尽管程序将继续运行,但取决于您可能具有的依赖项或正在运行的进程,程序可能会超时或导致异常并退出并出现错误。我能想到的最简单的例子是网络访问。如果您正在执行某些网络任务,则它会休眠,机器恢复,网络不可用,这可能会导致错误。
rovr138

6

请注意,计算机睡眠显示睡眠之间是有区别的(两者都在“系统偏好设置”的“节能器”窗格中控制)。当显示器处于睡眠状态但计算机未处于睡眠状态时,计算机上的程序将继续正常运行。当Mac进入计算机睡眠状态时,程序将暂停,并且在计算机唤醒时将恢复运行(但是某些程序,尤其是那些依赖网络通信的程序无法无缝恢复)。


2
处于显示睡眠状态时,是否还需要用户正常登录?
乌鸦
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.