Laut der Manpage für launchctl
(Hervorhebung von mir):
-w Überschreibt den deaktivierten Schlüssel und setzt ihn auf false. In früheren Versionen hat diese Option die Konfigurationsdatei geändert. Jetzt wird der Status des deaktivierten Schlüssels an einer anderen Stelle auf der Festplatte gespeichert.
Da der aktuelle Status des deaktivierten Flags nicht mehr in der .plist
Datei selbst festgelegt ist, ist die Überprüfung des Disabled
Schlüssels keine genaue Methode mehr, um festzustellen, ob der Dienst beim nächsten Start ausgeführt wird.
Wo ist das "anderswo auf der Festplatte"? Genauer gesagt (und was noch wichtiger ist), wie prüft man, ob dieses Flag gesetzt ist?
Ist es auch möglich, einen Dienst so einzustellen, dass er beim nächsten Start ausgeführt wird, ohne dass er sofort gestartet werden muss (wie bei launchctl load -w /Library/LaunchDaemons/my-service.plist
)?
Für neue Versionen von macOS haben sich
launchctl
Syntax und Befehle geändert .Folgendes wurde unter macOS High Sierra (
10.13.4
) getestet :Sie können viele Eigenschaften von Diensten auf dem System anzeigen, die Ihrem Benutzer mit Varianten der Befehle
launchctl print
und zugeordnet sindlaunchctl list
. Suchen Sie beispielsweise nach einem Abschnitt wie dem folgenden, um den Status des deaktivierten Flags anzuzeigen:quelle
launchctl print system/{service-name}