launchtl: est-il possible de désactiver un démon après avoir supprimé le fichier plist?

13

J'essayais de désactiver définitivement un démon tiers, j'ai donc supprimé son fichier plist de / Library / LaunchDaemons-- et j'ai ensuite réalisé que je n'avais pas fait launchctl unloadde premier dessus; essayer après le fait donne "Aucun fichier ou répertoire / rien trouvé à décharger". Et, bien sûr, le démon peut être redémarré, donc quand je le tue, il est recréé.

J'ai essayé de le faire launchctl listdans l'espoir d'obtenir une étiquette à utiliser, launchctl removemais le démon n'est plus répertorié.

À moins de redémarrer, existe-t-il un moyen de lancer launchd pour oublier le démon et / ou analyser à nouveau les fichiers de configuration?

jhfrontz
la source
La documentation n'est pas claire, mais launchctl kill com.example.productsemble fonctionner.
Abhi Beckert

Réponses:

18

Pour voir TOUS les démons en cours d'exécution, vous devez taper:

sudo launchctl list

Et puis vous pouvez le supprimer, par exemple:

sudo launchctl remove com.sassafras.KeyAccess.daemon
Dan
la source
Huh, je suppose que si vous n'êtes pas root, cela ne montre que les démons lancés pour / en tant qu'utilisateur?
jhfrontz
2
Cela ne fonctionne pas vraiment pour moi. Les entrées reviennent au redémarrage.
Dmitry Minkovsky
3
@dimadima avez-vous supprimé le ou les fichiers plist associés? Les commandes fournies par Dan ne manipulent que l'état actuel (qui est réinitialisé au prochain démarrage à ce qui se trouve dans / Library / LaunchDaemons).
jhfrontz
@jhfrontz yup J'ai appris maintenant que vous devez le faire. Je vous remercie.
Dmitry Minkovsky
1
Si cela aide quelqu'un, il y a vraiment toujours plusieurs listes uniques disponibles. Tous les utilisateurs du répertoire ont le leur, bien que l'utilisateur root et l'utilisateur connecté soient probablement les plus pertinents. Vous pouvez voir tous les utilisateurs qui ont des processus avec sudo ps auxou comme vous préférez, puis utilisez sudo launchctl asuser [UniqueID] launchctl listpour voir la liste de chaque utilisateur.
David Smith