【发布时间】:2021-02-14 23:47:53
【问题描述】:
我有一个 bash 脚本,可以在 Mac OS 上执行几个长时间运行的命令。如何在脚本运行时防止计算机进入睡眠状态?
【问题讨论】:
标签: bash macos sleep-mode
我有一个 bash 脚本,可以在 Mac OS 上执行几个长时间运行的命令。如何在脚本运行时防止计算机进入睡眠状态?
【问题讨论】:
标签: bash macos sleep-mode
我发现我可以通过将这一行添加到脚本的开头来实现所需的行为:
caffeinate -i -w $$ &
它是如何工作的:
caffeinate 是一个内置的 Mac OS 实用程序,用于创建电源管理断言以防止睡眠。
-i 标志告诉caffeinate 防止空闲睡眠。-w 标志告诉caffeinate 等到指定的进程完成。$$ 是一个包含当前 PID 的 shell 变量。与 -w 标志一起,这告诉 caffeinate 在 shell 脚本期间防止休眠。& 在后台运行命令,以便脚本可以继续运行。【讨论】: