在OS X 10.11上安装了Sleepwatcher 2.2并通过LaunchD作为代理启动。OS X 10.11上的Sleepwatcher在唤醒时不执行脚本
它启动并显示在活动监视器中。
但是,我想让它在电脑醒来时触发一个python脚本。
我的安装命令如下。
sudo mkdir -p /usr/local/sbin /usr/local/share/man/man8
sudo cp ~/Desktop/sleepwatcher_2.2/sleepwatcher /usr/local/sbin
sudo cp ~/Desktop/sleepwatcher_2.2/sleepwatcher.8 /usr/local/share/man/man8
sudo cp ~/Desktop/sleepwatcher_2.2/sleepwatcher/config/rc.sleep /etc
sudo cp ~/Desktop/sleepwatcher_2.2/sleepwatcher/config/rc.wakeup /etc
sudo cp ~/Desktop/sleepwatcher_2.2/sleepwatcher/config/de.bernhard-baehr.sleepwatcher-20compatibility-localuser.plist /Library/LaunchAgents
chmod +x /etc/rc.sleep
chmod +x /etc/rc.wakeup
chmod +x /usr/local/bin/test.py
我的rc.wakeup文件如下。
#!/bin/sh
/usr/local/bin/python3 /usr/local/bin/test.py
当通过输入以下内容在临界窗口处执行Sleepwatcher时,它似乎工作。
/usr/local/sbin/sleepwatcher --verbose --wakeup /usr/local/bin/test.py
但是,当试图将它作为LaunchD下的启动项运行时,似乎无法执行我的python脚本。
我已经搜索了所有,无法弄清楚为什么它在LaunchD中启动时不工作。
有没有人遇到这种类型的问题?
在此先感谢。
是的,我把命令放在chmod + x /etc/rc.sleep中。我不知道为什么上面有额外的空间。 – user1709730
您似乎缺少plist的注册信息,这需要启动'sleepwatcher'运行,并且在睡眠和唤醒时实际调用'/ etc/rc.sleep'和'/ etc/rc.wake'脚本事件发生。 – Petesh
嗨Petesh,而不是做一个launchctl加载/Library/LaunchAgents/de.bernhard-baehr.sleepwatcher-20compatibility-localuser.plist,我重新启动服务器。这也应该把它拿起来。你知道是否有任何遗留的日志,以便我可以看到在加载期间或在唤醒事件期间脚本执行过程中可能发生了什么错误? – user1709730