Этот запуск программ демон системный демон (не агент пользователя) и предназначен для запуска файла сценария При пробуждении от снаOSX: запуск программ демон не работает мой файл сценария
установки кода:
#!/bin/sh
#find current working directory. store as $curr. use to reference anything in $curr/mysecureview.
curr=$(pwd)
echo "+copy the plist to the system daemons directory."
cp $curr/sleepwatcher/config/sleepwatcher.system.plist /System/Library/LaunchDaemons/sleepwatcher.system.plist
echo "+create the /etc/mysecureview directory to contain all program files."
sudo mkdir /etc/mysecureview
echo "+copy the log file to contain the compiled set of log entries."
sudo cp $curr/log.txt /etc/mysecureview/log.txt
echo "+create the file to contain the individual set of pre-compiled log-entries."
sudo mkdir /etc/mysecureview/logs
echo "+copy the shell script to be used at bootup/wakeup"
sudo cp $curr/sleepwatcher/config/rc.wakeup /etc/mysecureview/rc.wakeup
echo "+move imagesnap"
sudo cp $curr/imagesnap-master/imagesnap /etc/mysecureview/imagesnap
#establishing root ownership of /etc/mysecureview/
#sudo chmod 700 /etc/mysecureview
#echo "+establishing root ownership of /etc/mysecureview/"
echo "========================"
echo "~Installation Succesful~"
echo "========================"
PLIST:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>sleepwatcher.system</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/sbin/sleepwatcher</string>
<string>-V</string>
<string>-w /etc/mysecureview/rc.wakeup</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
сам скрипт:
#!/bin/sh
sudo cd /etc/mysecureview/
sudo ./imagesnap
. /imagesnap делает снимок и помещает его в тот же каталог. файл называется «snapshot.jpg». Я искал весь Mac, и с этим именем нет .jpg. Я думаю, что проблема заключается в создании или установке plist, но поиск на странице разработчика OSX на launchd не очень помогает.
'sudo cd ...' изменяет каталог и сразу же выходит из оболочки, которая сменила каталог. Следующая команда 'sudo' снова запускается из каталога по умолчанию/initial. –