【问题标题】:How can I prevent idle sleep in a long-running bash script on Mac OS?如何防止 Mac OS 上长时间运行的 bash 脚本中的空闲睡眠?
【发布时间】:2021-02-14 23:47:53
【问题描述】:

我有一个 bash 脚本,可以在 Mac OS 上执行几个长时间运行的命令。如何在脚本运行时防止计算机进入睡眠状态?

【问题讨论】:

    标签: bash macos sleep-mode


    【解决方案1】:

    我发现我可以通过将这一行添加到脚本的开头来实现所需的行为:

    caffeinate -i -w $$ &
    

    它是如何工作的:

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

    【讨论】:

      猜你喜欢
      • 2021-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-25
      • 1970-01-01
      • 1970-01-01
      • 2014-06-04
      • 1970-01-01
      相关资源
      最近更新 更多