最近、PC の cron から Mac Mini (10.7.5) で起動するように切り替えようとしました。検索したところ、正しく設定されていると思いますが、スケジュールされたスクリプトが要求された時間より大幅に遅れて開始されているようです。詳細は以下。
リスト:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>RecordBluesA</string>
<key>ProgramArguments</key>
<array>
<string>/Users/gkd/scripts/script_record_blues_a.sh</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>19</integer>
<key>Minute</key>
<integer>00</integer>
<!-- Test by trying everyday
<key>Weekday</key>
<integer>6</integer>
-->
</dict>
<key>StandardErrorPath</key>
<string>/tmp/RecordBluesA.err</string>
<key>StandardOutPath</key>
<string>/tmp/RecordBluesA.out</string>
</dict>
</plist>
script_record_blues_a.sh :
export DISPLAY=:0.0
script=$0
echo "Starting $script at `date`\n"
date=`date +%Y%m%d`
mplayer -playlist http://wxpnhi.streamguys.com/listen.pls -dumpstream -dumpfile ~/RecordedMusic/${date}_BluesA.mp3 &
PID=$!
# Kill after 2 hours minus a minute
# sleep 7140
# Debug, running for a little
sleep 120
echo "Killing mplayer (PID=$PID) at `date`\n"
kill $PID
echo "Ending $script at `date`\n"
「StandardOutPath」ファイルの上部:
Starting /Users/gkd/scripts/script_record_blues_a.sh at Wed Sep 23 19:11:59 EDT 2015
12分遅れのようです。. .
「launchctl load」すると、待機中のリストが表示されます。
Mon Sep 28 13:33 gkd ~/Library/LaunchAgents: launchctl list|grep -i record
- 0 RecordThistle
- 0 RecordBluesB
- 0 RecordBluesA
- 0 com.apple.coredata.externalrecordswriter
plist の「Minute」を数分先に設定して手動でテストしていたところ、期待どおりに開始されたように見え、「launchctl list」はハイフン以外の PID を示しました。それで、すべてをまとめて数日間有効にしてから、後でチェックしましたが、時間通りに開始されていませんでしたが、20分ほど遅れていました. 何が悪いのか何か考えはありますか?ありがとう。