So laden Sie einen systemweiten Daemon unter Mac OS X

6623
Chealion

Ich versuche, meine Daemon-App mit diesem Befehl zu laden

launchctl load /Library/LaunchDaemons/myPlistFileName 

Es funktioniert gut, aber nur wenn mein Benutzer im System angemeldet ist.

Wie kann ich meine Deamon-App laden, die ohne eingeloggten Benutzer (wie die Windows-Dienste) geladen bleibt?

Der Befehl

sudo launchctl load /Library/LaunchDaemons/myPlistFileName 

gib mir einen fehler -> nichts zum laden gefunden

Welches ist der richtige Weg, dies zu tun?

2

3 Antworten auf die Frage

4
Chealion

Um den Job für alle Benutzer laden zu können, müssen Sie launchctlunter root-Berechtigungen arbeiten. Wenn der Job bereits unter Ihrem Benutzerkonto geladen ist, wird er nicht mit Root-Berechtigungen geladen.

Laufen Sie launchctl unload /Library/LaunchDaemons/myPlistFileNamezuerst, bevor Sie laufen sudo launchctl load -w /Library/LaunchDaemons/myPlistFileName. Sehen Sie sich die Ausgabe an system.log(Sie können sie mit Console.app anzeigen, wenn Sie möchten), die beim Laden des Daemons auftritt.

War auf diesem fest. Vielen Dank. Die Manpage sagt, dass -w den Disabled-Schlüssel löscht, der außerhalb der Plist verschoben wurde. geekinit vor 11 Jahren 0
0
Doron

Wenn Sie nicht laufen können

sudo launchctl load /Library/LaunchDaemons/myPlistFileName 

Versuchen Sie zuerst, zum Root-Benutzer zu wechseln:

sudo su 

Sie werden nach einem Kennwort gefragt. Geben Sie das Kennwort Ihres Standardbenutzers ein. Jetzt verwenden Sie das Terminal unter dem Root-Konto.

Dann führe das aus

launchctl load /Library/LaunchDaemons/myPlistFileName 

Befehl.

0
Matthew Schinckel

Ich hatte immer noch Probleme, nachdem ich das versucht hatte. Die Lösung für mich war:

sudo launchctl load -F /Library/LaunchDaemons/myPlistFileName 

Danach konnte ich es so viel laden und entladen, wie ich wollte.