Supprimer un agent de launchd
Table des matières:
La grande majorité des utilisateurs de Mac n'auront pas besoin de modifier manuellement launchd et launchctl, mais il arrive parfois que vous désinstalliez ou arrêtiez d'utiliser une application sous Mac OS X et qu'un agent de service continue de se charger inutilement lancé. C'est ennuyeux, mais ces agents malveillants sont faciles à supprimer via la ligne de commande, alors lancez Terminal et c'est parti. De plus, il existe des situations où les utilisateurs avancés peuvent vouloir modifier les agents chargés dans launchd pour une raison quelconque.Dans tous les cas, nous détaillerons comment répertorier les éléments dans launchd, comment les supprimer de launchd sous OS X et également comment recharger des agents dans launchd sur Mac.
Vous devrez avoir une certaine compréhension et une certaine aisance dans l'utilisation de la ligne de commande et du terminal pour l'utiliser correctement, ce qui en fait l'idéal pour les utilisateurs plus avancés qui connaissent les démons de lancement et comment les retrouver, ce qui, parfois, consiste simplement à en trouver un dans le moniteur d'activité de Mac OS X, ou en utilisant la commande launchctl dont nous parlerons bientôt. Si vous décidez d'annuler la modification, vous pouvez également recharger le service ou le démon dans launchd à l'aide d'une autre commande, ce qui annule l'étape de suppression initiale. Allons-y :
Suppression des agents et services de lancement de launchd sous OS X
Voici comment supprimer un service de launchd. Lancez Terminal, puis utilisez la syntaxe suivante avec la commande launchctl :
launchctl supprimer le nom
Par exemple, si je veux supprimer un service nommé "com.annoying.service", la syntaxe serait :
launchctl supprimer com.annoying.service
Vous devrez peut-être préfixer la commande avec sudo afin de supprimer le service, dans ce cas la commande serait :
sudo launchctl remove com.annoying.service
Avec le préfixe sudo, vous devrez entrer un mot de passe administrateur avant que la commande ne s'exécute.
Comment voir ce qui est chargé dans launchd
Vous pouvez également vérifier ce qui est chargé dans launchd en utilisant la chaîne de commande suivante :
launchctl list
Cette commande répertorie tous les agents et travaux chargés dans launchd, ce qui vous permet de manipuler facilement les agents en cours d'exécution. Parce qu'il affiche une tonne d'informations à la fois sur l'écran, vous voudrez peut-être le diriger à travers les commandes plus ou moins comme ceci :
launchctl list |plus
Cela vous permet d'appuyer sur la touche de retour pour naviguer plus lentement dans la liste.
Si vous connaissez généralement le service que vous recherchez, vous pouvez également utiliser "grep" pour trouver le service d'agents précis, prenons "mdworker" comme exemple : :
launchctl list |grep mdworker
Cela ne rapportera que les agents de lancement suivants :
- 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
Pour certains services, le vidage de la liste peut également afficher le PID (ID de processus) du service actif.
Rechargement d'un agent dans launchd
Si vous décidez de réactiver et de recharger un service dans launchd, utilisez le drapeau "load" comme ceci :
launchctl load com.example.service.to.load
Certains agents se chargeront instantanément sans problème. Pour d'autres, vous devrez peut-être redémarrer le Mac avant que le service chargé ne fonctionne à nouveau comme prévu, bien que parfois une déconnexion et une reconnexion suffisent également.