launchd 経由で offlineimap を実行すると、OSX のスリープ状態が維持されない

launchd 経由で offlineimap を実行すると、OSX のスリープ状態が維持されない

私はすべてのことに精通しているわけではありませんが、 IMAP サーバーから新しいメールを取得するために定期的に実行される次のファイルをlaunchd作成しました。plistofflineimap

<?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>

デーモンはスリープ状態を生き延びます。

関連情報