我有一个在Mac OS上执行多个长时间命令的Bash脚本。在脚本运行期间,如何防止计算机进入睡眠状态?
我发现只需在脚本开头添加这一行就可以实现所需的行为:
caffeinate -i -w $$ &
工作原理:
caffeinate
是一个内置于 Mac OS 的实用程序,用于创建电源管理断言以防止睡眠。
-i
标志告诉 caffeinate
防止空闲睡眠。-w
标志告诉 caffeinate
等待指定进程完成。$$
是一个包含当前 PID 的 shell 变量。与 -w
标志一起使用,这告诉 caffeinate
在 shell 脚本的持续时间内防止睡眠。&
在后台运行命令,因此脚本可以继续运行。