在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