OS X utiliza un sistema de inicio de procesos llamado launchd que consolida las funciones proporcionadas por los scripts de Init, crontab y más en los sistemas * nix (consulte el artículo de Wikipedia para una descripción general de alto nivel y Documentos de desarrollador de Apple en demonios y agentes de lanzamiento para más detalles). Una de las capacidades de launchd es mantener vivo el proceso que lanzó, si así lo define su archivo de configuración; en ese caso, el proceso se reiniciará cada vez que se finalice. Su problema con un proceso que parece persistir en los reinicios y la terminación manual suena muy parecido a un caso iniciado por launchd con una clave keepAlive
.
Los archivos de configuración de
launchd están en formato plist y se encuentran en
-
~/Library/LaunchAgents
: agentes solo para la cuenta de usuario actual
-
/Library/LaunchAgents
y /Library/LaunchDaemons
- agentes y daemons para todas las cuentas de usuario
-
/System/Library/LaunchAgents
y /System/Library/LaunchDaemons
- agentes y demonios a nivel del sistema
y normalmente se nombran en notación de dominio inverso ( tld.domain.process.plist
). Dependiendo de si la cuenta de usuario de server
es suya o no (no puedo decirlo, ya que la ha dejado en blanco), debe buscar en una de las dos primeras ubicaciones de arriba para un posible error (si tiene instalado Xcode, puede QuickLook ellos fácilmente). Si lo encuentra, su server
es controlado por launchd. El procedimiento correcto para detenerlo es eliminarlo de la lista de procesos de launchd a través de
launchctl unload <tld.domain.process>
que descargará y detendrá el proceso (tenga en cuenta que omite el sufijo plist
).
También hay una GUI para manejar los archivos de launchd , Peter Borg's Lingon (asegúrate de obtener "Lingon", no "Lingon 3", que es una versión sencilla para el uso de vainilla), que podría ser más conveniente que rastrear manualmente el archivo ubicaciones.