Eliminar un agente del lanzador
La gran mayoría de los usuarios de Mac no necesitarán cambiar manualmente launchd y launchctl, pero hay ocasiones en las que desinstala o deja de usar una aplicación en Mac OS X y un agente de servicio continúa cargándose innecesariamente en launchd. Esto es molesto, pero estos agentes deshonestos se eliminan fácilmente a través de la línea de comandos, así que inicie la Terminal y nos vamos. Además, hay situaciones en las que los usuarios avanzados pueden querer modificar los agentes de carga por cualquier motivo. Sin embargo, detallaremos cómo enumerar los elementos de launchd, cómo eliminarlos de launchd en OS X y también cómo recargar agentes en launchd en Mac.
Necesitará tener cierta comprensión y comodidad en el uso de la línea de comandos y la terminal para usar esto correctamente, lo que lo hace ideal para usuarios más avanzados que tienen conocimiento de los demonios de lanzamiento y cómo rastrearlos, lo cual a veces es solo una cuestión de encontrar uno. en Mac OS X Activity Monitor o usando el comando launchctl que discutiremos en breve. Si decide revertir el cambio, también puede volver a cargar el servicio o demonio en launchd usando otro comando, que efectivamente cancela el paso de eliminación inicial. Hagámoslo:
Eliminar agentes y servicios de lanzamiento del lanzamiento en OS X
Aquí está cómo eliminar un servicio de launchd. Inicie Terminal y luego use la siguiente sintaxis con el comando launchctl:
launchctl remove name
Por ejemplo, si quiero eliminar un servicio llamado «com.annoying.service», la sintaxis sería:
launchctl remove com.annoying.service
Es posible que deba agregar un prefijo al comando sudo para eliminar el servicio, en cuyo caso el comando sería:
sudo launchctl remove com.annoying.service
Con el prefijo sudo, deberá ingresar una contraseña de administrador antes de que se ejecute el comando.
Cómo ver lo que se está cargando en launchd
También puede verificar lo que está cargado en launchd usando la siguiente cadena de comando:
launchctl list
Este comando enumera todas las agencias y trabajos cargados en launchd, lo que le permite manipular fácilmente las agencias en ejecución. Debido a que arroja una tonelada de información en la pantalla a la vez, es posible que desee seguir los comandos más o menos así:
launchctl list |more
Esto le permite presionar la tecla de retorno para navegar por la lista más lentamente.
Si generalmente conoce el servicio que está buscando, también puede usar «grep» para encontrar el servicio de agente exacto, usemos «mdworker» como ejemplo:
launchctl list |grep mdworker
Esto solo reportaría los siguientes agentes de lanzamiento:
- 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
Para algunos servicios, borrar la lista también puede mostrar el PID (ID de proceso) del servicio activo.
Volver a cargar un agente en el lanzamiento
Si decide que desea reactivar y volver a cargar un servicio en el lanzamiento nuevamente, use la marca «cargar» de la siguiente manera:
launchctl load com.example.service.to.load
Algunos agentes se cargarán instantáneamente sin ningún problema. Para otros, puede ser necesario reiniciar su Mac antes de que el servicio cargado funcione según lo previsto, aunque a veces es suficiente cerrar la sesión y volver a iniciarla.