在 Mac OS X 中进程或命令处于活动状态时防止系统休眠

终端 暂时阻止他们的计算机休眠,通常依靠睡眠corners,称为 Caffeine、pmset 的第三方工具,或最近与 OS X 捆绑在一起的命令行实用程序,称为 咖啡因。默认情况下,Caffeine 菜单项和 caffeinate 命令都会阻止睡眠,只要它们被单独激活,这对使用 Mac 的桌面用户非常有用,但如果您想拥有 OS X 睡眠功能则不是特别有用依赖于特定过程或任务的完成。

这就是我们将在此处通过使用命令行来介绍的内容,它具有依赖于进程的睡眠预防功能,它仅在指定的命令、任务或进程正在运行或处于活动状态时阻止 Mac 睡眠功能,然后当它处于完成后,电脑将恢复传统的睡眠习惯。

为了实现命令特定的睡眠避免,我们将使用 caffeinate 的变体命令,可以通过多种方式防止休眠。我们将运行几个示例,但 caffeinate 的手册页提供了一些额外的选项,这些选项也可能适用于其他情况。

咖啡因在命令运行时防止睡眠

为了使睡眠预防依赖于特定命令或进程的完成,您将像这样使用 -i 标志:

caffeinate -i [命令/进程]

这可能已经很明显了,但是像这样执行 caffeinate 命令也会启动参数中指定的命令或进程。

例如,如果您希望 Mac 在“make”命令处于活动状态时避免休眠,您可以使用以下命令语法:

caffeinate -i 制作

或者你可能只是想在与特定服务器的 ssh 连接处于活动状态时防止睡眠,并且你想将 caffeinate 命令发送到后台,那么你也可以在末尾应用一个 & 符号,如下所示:

caffeinate -i ssh coffeebeans &

您甚至可以在其他位置使用您自己的脚本或命令运行它:

caffeinate -i /private/tmp/./whatisthis.sh

或者只要 Safari 网络浏览器在 GUI 中运行就可以激活睡眠预防,您可以使用以下语法,注意您必须在 .app 文件中指定二进制文件的完整路径:

caffeinate -i /Applications/Safari.app/Resources/MacOS/Safari

-i 标志可防止系统休眠,但您也可以使用其他标志来创建断言以防止磁盘或显示器休眠。为了防止显示休眠(即屏幕关闭并进入锁定模式或屏幕保护程序),-需要 d 标志:

caffeinate -d [命令/进程]

就像 -i 标志一样,它可以应用于任何系统任务,无论是从命令行还是 GUI 运行,只要确保指定正确的名称和正确的大小写即可。另一个例子:

caffeinate -d telnet towel.blinkenlights.nl

该命令意味着只要telnet到Star Wars ASCII 电影处于活动状态,Mac 显示屏不会休眠。如果 telnet 退出或星球大战结束播放,系统可能会像通常允许的那样进入睡眠状态,这由 OS X 中的睡眠和能量设置定义。

当然,由于 caffeinate 完全基于命令行,因此它不会适用于所有用户,但对于那些在终端上花费大量时间的人来说,这可能是一个很好的技巧。对于更喜欢图形用户界面的 Mac 用户,有效的抗睡眠角和使用咖啡因app 仍然可能是执行类似功能的最佳选择。

如果您想执行类似的依赖于进程的任务但避免使用终端和命令行,Wimoweh 应用程序完成与菜单栏下拉菜单相同的事情,尽管它是付费应用程序,这可能使某些用户不太喜欢它,并且它提供一般的基于进程或命令行的任务完成参数。因此,带有适当标记的咖啡因仍然受到许多人的青睐。