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

Estaba tratando de deshabilitar permanentemente un demonio de terceros, así que eliminé su archivo plist de /Library/LaunchDaemons-- y luego me di cuenta launchctl unloadde que no lo había hecho primero; intentar después del hecho produce "No existe tal archivo o directorio/no se encontró nada para descargar". Y, por supuesto, el daemon se puede reiniciar, así que cuando lo mato, se vuelve a crear.

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

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

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

Respuestas (1)

Para ver TODOS los demonios que se están ejecutando actualmente, debe escribir:

sudo launchctl list

O clasifíquelos para separarlos bien com.apple:

sudo launchctl list | sort

Y luego puedes eliminarlo, por ejemplo:

sudo launchctl remove com.sassafras.KeyAccess.daemon

Nota importante : si no desea obtener demonios al reiniciar la máquina, elimine el archivo plist asociado.

¿Eh, supongo que si no eres root, solo muestra los demonios lanzados para/como el usuario?
Esto en realidad no funciona para mí. Las entradas vuelven al reiniciar.
@dimadima, ¿eliminó los archivos plist asociados? Los comandos proporcionados por Dan solo manipulan el estado actual (que se restablece en el próximo arranque a lo que esté en /Library/LaunchDaemons).
@jhfrontz sí, ya he aprendido que tienes que hacer eso. Gracias.
@jhfrontz, por lo que el proceso debería ser launchctl unloady luego eliminar el .plistarchivo, ¿es correcto?
@JohnnyQ: sí, creo que ese es el orden correcto. Mira lo que bmike tiene que decir aquí: apple.stackexchange.com/a/37195/10389
En Mac OS X Server, descubrí que había un directorio LaunchDaemons escondido dentro de la ruta de Server.app que activaba Xcode. Entonces, para otros, encontrarlos todos con un simple: find / -name LaunchDaemons 2> /dev/nullenumerará todas las ubicaciones posibles de los .plistarchivos... HTH...
Si ayuda a alguien, en realidad siempre hay varias listas únicas disponibles. Todos los usuarios del directorio tienen el suyo propio, aunque el usuario raíz y el usuario que ha iniciado sesión son probablemente los más relevantes. Puede ver todos los usuarios que tienen procesos con sudo ps auxo como prefiera y luego use sudo launchctl asuser [UniqueID] launchctl listpara ver la lista de cada usuario.