macOS 自带的 Automator.app 并没有给出睡眠及唤醒时的条件变量,不过可以通过 sleepwatcher
来监测并执行一些脚本。
sleepwatcher
安装:
$ brew install sleepwatcher
启动服务:
$ brew services start sleepwatcher
查看进程:
$ ps aux | grep sleepwatcher
可以看到 ... ... /usr/local/sbin/sleepwatcher -V -s ~/.sleep -w ~/.wakeup
sleepwatcher
在休眠和唤醒时会分别执行 ~/.sleep
和 ~/.wakeup
。
创建文件并给予运行权限就可以了:
$ touch ~/.sleep
$ touch ~/.wakeup
$ chmod +x ~/.sleep
$ chmod +x ~/.wakeup
睡眠时关闭 QQ
QQ for Mac 多年以来一直会在合盖状态下不知何时突然响起登录声,真的是让人无语,经常是合盖睡觉了,躺床上刚要睡着的时候 QQ 突然响了。
一个 python 脚本,关闭 QQ 的进程:
#!/usr/local/bin/python3
import psutil
for pid in psutil.pids():
name = psutil.Process(pid).name()
if name == 'QQ jietu plugin' or name == 'QQ':
psutil.Process(pid).terminate()
给予脚本权限并在 ~/.sleep
中执行脚本就可以了。
#!/usr/local/bin/zsh
/.../terminate_QQ.py
其他
能干的事情很多,比如启动/关闭程序,开关蓝牙,播放音乐啥的。。。