让 Mac 保持清醒:caffeinate
macOS 自带一个命令,caffeinate,给机器灌咖啡,不让它睡。跑长任务、下载大文件的时候用,不用去系统设置里改电源选项。
caffeinate
运行后 Mac 不睡眠。Ctrl+C 退出,恢复正常。
常用参数#
屏幕常亮:
caffeinate -d
默认只防系统睡眠,屏幕照样熄。加 -d,屏幕也一起保持。
限时,单位是秒:
caffeinate -t 7200
两小时后自动失效,不用手动关。
跟着任务走:
caffeinate -i ./backup.sh
任务跑多久,机器醒多久。任务结束,自动恢复。
合盖#
管不了。caffeinate 挡的是空闲睡眠,合盖触发的是另一套强制睡眠,合上照样睡。
接了外接屏、电源和键鼠,macOS 本身就支持合盖运行,不用任何命令,这是官方的 clamshell 模式。
没有外接屏,还想合盖继续跑:
sudo pmset -a disablesleep 1
设置重启后还在。用完改回 0,否则 Mac 塞进包里也不睡,发热耗电。
怕忘关,套一层自动恢复:
sudo sh -c 'pmset -a disablesleep 1; trap "pmset -a disablesleep 0" INT TERM EXIT; sleep 28800'
合盖不睡 8 小时。到点、Ctrl+C、关终端,都会自动恢复睡眠。把 sleep 28800 换成任务本身,就是合盖版的 caffeinate -i。
查当前状态:
pmset -g | grep SleepDisabled
1 是不睡,0 是正常。