launchtl: ¿alguna forma de deshabilitar un demonio después de eliminar el archivo plist?

13

Estaba tratando de deshabilitar permanentemente un demonio de terceros, así que eliminé su archivo plist de / Library / LaunchDaemons, y luego me di cuenta de que no lo había hecho launchctl unloadprimero; intentar después del hecho produce "No existe tal archivo o directorio / nada encontrado para descargar" Y, por supuesto, el demonio es reiniciable, así que cuando lo mato, se recrea.

Intenté hacerlo launchctl listcon la esperanza de obtener una etiqueta para usar, launchctl removepero el demonio ya no aparece en la lista.

A falta de reiniciar, ¿hay alguna forma de iniciarse para olvidarse del demonio y / o volver a escanear los archivos de configuración?

jhfrontz
fuente
La documentación no está clara, pero launchctl kill com.example.productparece funcionar.
Abhi Beckert

Respuestas:

18

Para ver TODOS los demonios que se ejecutan actualmente, debe escribir:

sudo launchctl list

Y luego puedes eliminarlo, por ejemplo:

sudo launchctl remove com.sassafras.KeyAccess.daemon
Dan
fuente
¿Eh, supongo que si no eres root, solo muestra los demonios lanzados para / como usuario?
jhfrontz
2
Esto en realidad no funciona para mí. Las entradas vuelven al reiniciar.
Dmitry Minkovsky
3
@dimadima, ¿eliminó los archivos plist asociados? Los comandos proporcionados por Dan solo manipulan el estado actual (que se restablece en el próximo tiempo de arranque a lo que esté en / Library / LaunchDaemons).
jhfrontz
@jhfrontz sí, hasta ahora he aprendido que tienes que hacer eso. Gracias.
Dmitry Minkovsky
1
Si ayuda a alguien, realmente siempre hay múltiples listas únicas disponibles. Todos los usuarios en el directorio tienen los suyos, aunque el usuario raíz y el usuario conectado probablemente sean los más relevantes. Puede ver todos los usuarios que tienen procesos sudo ps auxo, como prefiera, usarlos sudo launchctl asuser [UniqueID] launchctl listpara ver la lista de cada usuario.
David Smith el