Verhindert das Ändern der Plist-Dateierweiterung eines Daemons, dass er geladen wird?

Ich möchte insbesondere deaktivieren: /private/etc/mach_init.d/dashboardadvisoryd.plist.disabled, aber im Allgemeinen für jeden Daemon.
Verhindert das Ändern der plistErweiterung das Laden?
In der Vergangenheit habe ich sie in einen anderen Ordner verschoben, aber das ist bequemer.

Überprüfen Sie zuerst, ob launchd diese nicht wirklich lädt. mach_init ist veraltet...
Dies ist der einzige Treffer, den ich von Spotlighting bekommedashboardadvisoryd
@bmike wie überprüfe ich das?
launchctl listund sudo launchctl bstreezeigt Ihnen die Jobs. Sie müssen sich über den mach_init-Teil informieren und sich darüber im Klaren sein, dass launchd immer mehr vom Kuchen bekommt, wenn Sie von Tiger / Leopard / Snow Leopard / Lion gehen - Ihre allgemeine Frage lautet im Grunde "Gehen Sie mich durch den Launch". - Der Befehl mdfind dashboardadvisorysucht in den Bereichen, die standardmäßig in Spotlight als Systemdateien ausgeblendet sind.
@bmike danke, nach dem Neustart launchctl bstreewird es nicht mehr angezeigt, also ja, es scheint, als würde es von mach_init.d geladen
Beachten Sie, dass in einigen Plist-Dateien auch ein <key>Disabled</key> vorhanden ist, das anscheinend nichts bewirkt ...

Antworten (3)

launchctl list und sudo launchctl bstree zeigen Ihnen die Jobs. Sie müssen sich über den mach_init-Teil informieren und sich darüber im Klaren sein, dass launchd immer mehr vom Kuchen bekommt, wenn Sie von Tiger / Leopard / Snow Leopard / Lion gehen - Ihre allgemeine Frage lautet im Grunde "Gehen Sie mich durch den Launch". - Der Befehl mdfind dashboardadvisory sucht in den Bereichen, die standardmäßig in Spotlight als Systemdateien ausgeblendet sind.
@bmike
PS: Poste es als Antwort, wenn du willst, also markiere ich es richtig.

Sie können einen bestimmten LaunchAgent oder LaunchDaemon auch mit launchctl deaktivieren, ohne die Datei umzubenennen.

sudo launchctl unload -w /Library/LaunchDaemons/com.whatever.you.want.to.disable.plist

Wenn Sie das -w weglassen, wird die Aufgabe nur für den aktuellen Start deaktiviert. Dies ist praktisch, um zu testen, ob das Deaktivieren einer Launchd-Aufgabe Ihr System fubar macht - wenn Sie auf Probleme stoßen, müssen Sie alles, was Sie tun müssen, um die Dinge zu beheben, neu starten, und die Dinge werden wieder normal sein. Andernfalls müssen Sie in den Einzelbenutzermodus booten und die plist manuell bearbeiten, um die launchd-Aufgabe erneut zu aktivieren.

Die Antwort ist ja. OS X sucht beim Laden von LaunchAgents oder LaunchDaemons nur nach Plist-Dateien, unabhängig davon, ob Sie die alte "Mach" -Methode (die, wie bmike betont hat, seit langem veraltet ist) oder die aktuelle, moderne Methode verwenden.

Der Inhalt der Plist-Datei ist wie folgt (dies zeigt den AELWriter-Dienst):

<?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>com.apple.aelwriter</string>
        <key>MachServices</key>
        <dict>
                <key>com.apple.aelwriter</key>
                <true/>
        </dict>
        <key>ProgramArguments</key>
        <array>
                <string>/usr/sbin/AELWriter</string>
        </array>
        <key>RunAtLoad</key>
        <false/>
        <key>UserName</key>
        <string>root</string>
        <key>ThrottleInterval</key>
        <integer>2</integer>
</dict>
</plist>

Sie können sehen, dass das, was den Dienst tatsächlich startet, eine Zeichenfolge unter dem Schlüssel ist ProgramArguments. Das Ändern dieses Werts würde auch die Ausführung des Dienstes "deaktivieren", ebenso wie das Entfernen der plist, das Umbenennen der Dateierweiterung oder das vollständige Löschen der Datei.