私はすべてのことに精通しているわけではありませんが、 IMAP サーバーから新しいメールを取得するために定期的に実行される次のファイルをlaunchd
作成しました。plist
offlineimap
<?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>net.dpo.offlineimap</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/offlineimap</string>
<string>-o</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>ProcessType</key>
<string>Background</string>
<key>StartInterval</key>
<integer>1800</integer>
</dict>
</plist>
ファイルは にあります~/Library/LaunchAgents/net.dpo.offlineimap.plist
。
問題は、コンピュータをスリープ状態から復帰させたときにプロセスが起動しないように見えることです。
$ launchctl stop net.dpo.offlineimap
$ launchctl start net.dpo.offlineimap
再度有効にしますが、その場合KeepAlive
オプションは無効になるようです。
使ってみた
<key>KeepAlive</key>
<dict>
<key>SuccessfulExit</key>
<true/>
<key>NetworkState</key>
<true/>
</dict>
しかし、同じ動作が見られます。私は OSX 10.9 を使用しています。私の OS では~/.offlineimaprc
このオプションは使用していませんautorefresh
。
ファイルに何か問題がありますかplist
?
前もって感謝します!
答え1
まあ、私は の意味を誤解しているのかもしれませんKeepAlive
。自家製目的の作業を実行するplist
ファイルを配布しました:offlineimap
<?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>KeepAlive</key>
<false/>
<key>Label</key>
<string>homebrew.mxcl.offline-imap</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/offline-imap/bin/offlineimap</string>
</array>
<key>StartInterval</key>
<integer>300</integer>
<key>RunAtLoad</key>
<true />
<key>StandardErrorPath</key>
<string>/dev/null</string>
<key>StandardOutPath</key>
<string>/dev/null</string>
</dict>
</plist>
デーモンはスリープ状態を生き延びます。