OS X - Privilegiertes Hilfsprogramm auf Abruf

Meine Anwendung muss Dateien an eingeschränkte Stellen im Dateisystem schreiben.
Zu diesem Zweck verwende ich ein Hilfsprogramm, das als root ausgeführt wird.

Alles funktioniert richtig, nachdieses Beispiel, mein Hilfsprogramm ist korrekt installiert und wird ausgeführt. Ich benutze diese Lösung, um das Hilfsprogramm "aufzuwecken", da es sonst nicht mehr als einmal nach dem ersten Laden gestartet wird.

Das Hilfsprogramm wartet auf Nachrichten aus der Hauptanwendung und führt sie ordnungsgemäß aus. Ich habe auch eine Art Meldung, die das Tool zum Herunterfahren auffordert, was auch korrekt funktioniert.

Das Problem ist, dasslaunchd Starte das Tool jedes Mal neu, wenn es beendet wird, egal welche Schlüssel ich im @ spezifizierlaunchd.plist Datei
Ich möchte nicht, dass das Hilfsprogramm für immer ausgeführt wird und auf Nachrichten wartet, sondern nur bei Bedarf gestartet wird.

Frag: Ist es normal, dass das Hilfsprogramm jedes Mal neu gestartet wird, wenn es endet? Wenn nicht, wie kann ich es sterben lassen und bei Bedarf neu starten?

Hier ist daslaunchd.plist content:

<?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>KeepAlive</key>
        <dict>
            <key>SuccessfulExit</key>
            <false/>
        </dict>
        <key>RunAtLoad</key>
        <true/>
        <key>Label</key>
        <string>com.mycompany.Helper</string>
        <key>MachServices</key>
            <dict>
                <key>com.mycompany.Helper</key>
                <true/>
            </dict>
     </dict>
</plist>

Natürlich habe ich verschiedene Tastenkombinationen und Werte ausprobiert sowie verschiedene Exit-Statuscodes für das Hilfsprogramm. Es hat sich in keiner Weise geändertlaunchd verwaltet den Prozess.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage