launchctl list
launchctl bstree
Diese zeigen, welche Jobs angeblich aktiv, ruhend oder inaktiv sind. Ich habe noch nie einen inaktiven Job gesehen. Sogar diejenigen, die ich zu deaktivieren versucht habe, werden als "D" angezeigt.
Jetzt gibt es in /var/db/launchd.db Textdateien, in denen pro Benutzer angezeigt wird, welche Jobs tatsächlich deaktiviert sind. Bedauerlicherweise war der alte Schalter -w veraltet, und der Schlüssel Disabled in der Plist ist nur eine Standardeinstellung. Ich weiß nicht, warum sie so etwas tun würden, es scheint keine Möglichkeit zu geben, dies definitiv zu sagen
"Service X ist ausgeschaltet."
Es scheint, als würde ich als root fragen können, was an und was aus ist. Was mache ich falsch?
EDIT: Was ich falsch gemacht habe, war zu ignorieren
/var/db/launchd.db/com.apple.launchd/overrides.plist
Welches ist der definitive Ort anscheinend für den aktuellen Zustand eines Daemons.
Praktischerweise bedeutet dies, dass die Standardeinstellung in den plist-Dateien unter / System / Launch * / Library / Launch * ~ / Library / Launch * enthalten ist und man dieses Verzeichnis einfach wegblasen (errrm copy and move) und in einen Standardsatz neu starten kann . Das hat kürzlich bei mir funktioniert.
launchd
Ihnen ausgeführt wird.Antworten:
Der wahre Status ist, ob ein Job gerade geladen ist oder nicht.
Lesen Sie die Philosophie von launchd noch einmal durch - In den Punkten 4 und 1 wird erläutert, dass launchd bis zum letzten Moment wartet, bevor die untergeordnete Aufgabe gestartet wird. Dieser Prozess wird mit dem Zeitplan für den Start, dem Drosseln und dem Deaktivieren von Aufgaben nach Bedarf fortgesetzt.
Diese werden alle zur Systemprotokollierung protokolliert.
top
undps
zeigt Ihnen die aktuellen Prozesse. Ich nehme an, Sie können launchd einfach an einen Debugger anhängen, wenn Sie den genauen Status kennen müssen, da der aktuelle Code keine Liste nach Ihren Wünschen erstellt.quelle
Die gestartete GUI LaunchControl gibt Ihnen eine Liste von Diensten mit ihrem jeweiligen Status. Sie können feststellen, ob ein Job deaktiviert wurde, indem Sie das Kontrollkästchen neben dem Jobnamen aktivieren. Ein farbiges Kontrollkästchen zeigt an, dass der deaktivierte Schlüssel überschrieben wurde: Ein rotes Kontrollkästchen steht für einen permanent deaktivierten Job, ein grünes für einen permanent aktivierten Job.
quelle
Dank der Informationen von chiggsy konnten wir ein Problem in Mountain Lion beheben, bei dem org.apache.httpd als nicht in "launchctl list" ausgeführt angezeigt wurde, aber de facto nach dem Neustart ausgeführt wurde, sodass MacPorts httpd nicht ausgeführt werden konnte richtig. Die overrides.plist-Datei wurde bearbeitet und org.apache.httpd disabled = true wurde ausgewählt. Muss beim Update von Lion auf Mountain Lion etwas passieren, das com.apache.httpd aktiviert hat.
quelle
/System/Library/LaunchDaemons/
werden nur angezeigt, wennlaunchctl list
sie als root ausgeführt werden.launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
und/usr/sbin/apachectl stop
würde auch ändernoverrides.plist
.