如何在Mac OS上运行长时间的bash脚本时避免进入空闲睡眠状态?

7
我有一个在Mac OS上执行多个长时间命令的Bash脚本。在脚本运行期间,如何防止计算机进入睡眠状态?
1个回答

18

我发现只需在脚本开头添加这一行就可以实现所需的行为:

caffeinate -i -w $$ &

工作原理:

  • caffeinate 是一个内置于 Mac OS 的实用程序,用于创建电源管理断言以防止睡眠。
    • -i 标志告诉 caffeinate 防止空闲睡眠。
    • -w 标志告诉 caffeinate 等待指定进程完成。
    • $$ 是一个包含当前 PID 的 shell 变量。与 -w 标志一起使用,这告诉 caffeinate 在 shell 脚本的持续时间内防止睡眠。
  • 最后的 & 在后台运行命令,因此脚本可以继续运行。

1
“-i”是多余的,因为它已经是默认设置。 - Motsel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接