Das Ausführen von Offlineimap über Launchd übersteht den Ruhezustand unter OSX nicht

Das Ausführen von Offlineimap über Launchd übersteht den Ruhezustand unter OSX nicht

Ich kenne mich nicht in allen Dingen besonders gut aus launchd, aber ich habe diese plistDatei geschrieben, die regelmäßig ausgeführt wird offlineimap, um neue E-Mails von IMAP-Servern abzurufen:

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

Die Datei befindet sich im ~/Library/LaunchAgents/net.dpo.offlineimap.plist.

Das Problem ist, dass der Prozess nicht zu aktivieren scheint, wenn ich den Computer aus dem Ruhezustand wecke.

$ launchctl stop net.dpo.offlineimap
$ launchctl start net.dpo.offlineimap

aktiviert es erneut, aber das scheint die KeepAliveOption zunichte zu machen.

Ich habe versucht,

<key>KeepAlive</key>
  <dict>
    <key>SuccessfulExit</key>
      <true/>
    <key>NetworkState</key>
      <true/>
  </dict>

aber ich beobachte das gleiche Verhalten. Ich verwende OSX 10.9. Meins ~/.offlineimaprcverwendet die autorefreshOption nicht.

Stimmt etwas mit der plistDatei nicht?

Dank im Voraus!

Antwort1

Nun, vielleicht verstehe ich die Bedeutung von falsch KeepAlive. Es stellt sich herausSelbstgebrauteseine plistDatei verteilt offlineimap, die diesen Job erledigt:

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

Der Daemon überlebt jetzt den Ruhezustand.

verwandte Informationen