Einen Agenten von launchd entfernen

Inhaltsverzeichnis:

Anonim

Die überwiegende Mehrheit der Mac-Benutzer muss launchd und launchctl nicht manuell anpassen, aber es gibt Zeiten, in denen Sie eine App in Mac OS X deinstallieren oder nicht mehr verwenden und ein Service-Agent weiterhin unnötig geladen wird launchd. Das ist ärgerlich, aber diese Schurkenagenten lassen sich einfach über die Befehlszeile entfernen, also starten Sie Terminal und los geht's. Darüber hinaus gibt es Situationen, in denen fortgeschrittene Benutzer aus irgendeinem Grund in launchd geladene Agenten optimieren möchten.In jedem Fall werden wir detailliert beschreiben, wie Sie Elemente in launchd auflisten, wie Sie sie in OS X aus launchd entfernen und wie Sie Agenten auf dem Mac erneut in launchd laden.

Sie müssen etwas Verständnis und Komfort mit der Verwendung der Befehlszeile und des Terminals haben, um dies richtig zu verwenden, was es ideal für fortgeschrittene Benutzer macht, die Kenntnisse über Start-Daemons haben und wissen, wie man sie aufspürt. was manchmal nur eine Frage der Suche im Aktivitätsmonitor von Mac OS X ist, oder indem Sie den Befehl launchctl verwenden, den wir gleich besprechen werden. Wenn Sie sich entscheiden, die Änderung rückgängig zu machen, können Sie den Dienst oder Daemon auch mit einem anderen Befehl wieder in launchd laden, wodurch der anfängliche Entfernungsschritt effektiv rückgängig gemacht wird. Lasst uns anfangen:

Entfernen von Launch Agents & Services von launchd in OS X

Hier ist wie man einen Dienst aus launchd entfernt. Starten Sie Terminal und verwenden Sie dann die folgende Syntax mit dem Befehl launchctl:

launchctl Namen entfernen

Zum Beispiel, wenn ich einen Dienst namens „com.annoying.service“ entfernen möchte, wäre die Syntax:

launchctl entfernen com.annoying.service

Möglicherweise müssen Sie dem Befehl sudo voranstellen, um den Dienst zu entfernen. In diesem Fall lautet der Befehl:

sudo launchctl remove com.annoying.service

Mit dem Präfix sudo müssen Sie ein Administratorkennwort eingeben, bevor der Befehl ausgeführt wird.

Wie man sieht, was in launchd geladen ist

Sie können auch überprüfen, was in launchd geladen ist, indem Sie die folgende Befehlszeichenfolge verwenden:

launchctl list

Dieser Befehl listet alle in launchd geladenen Agenten und Jobs auf, sodass Sie die laufenden Agenten einfach manipulieren können. Da es eine Menge Informationen auf einmal auf den Bildschirm bringt, möchten Sie es vielleicht so durch die mehr oder weniger Befehle leiten:

launchctl list |more

Damit können Sie die Eingabetaste drücken, um langsamer durch die Liste zu navigieren.

Wenn Sie den gesuchten Dienst im Allgemeinen kennen, können Sie auch „grep“ verwenden, um den genauen Agentendienst zu finden, nehmen wir als Beispiel „mdworker“::

launchctl list |grep mdworker

Dies würde nur die folgenden Startagenten zurückmelden:

- 0 com.apple.mdworker.sizing - 0 com.apple.mdworker.single - 0 com.apple.mdworker.shared - 0 com.apple.mdworker .mail - 0 com.apple.mdworker.lsb - 0 com.apple.mdworker.isolation - 0 com.apple.mdworker.bundles - 0 com.apple.mdworker.32bit

Bei einigen Diensten kann beim Sichern der Liste auch die PID (Prozess-ID) des aktiven Dienstes angezeigt werden.

Laden eines Agenten zurück in launchd

Wenn Sie sich entscheiden, einen Dienst wieder zu aktivieren und wieder in launchd zu laden, verwenden Sie das Flag „load“ wie folgt:

launchctl load com.example.service.to.load

Einige Agenten werden ohne Probleme sofort geladen. Bei anderen müssen Sie möglicherweise den Mac neu starten, bevor der geladene Dienst wieder wie vorgesehen funktioniert, obwohl es manchmal auch ausreicht, sich abzumelden und wieder anzumelden.

Einen Agenten von launchd entfernen