Encontrar el estado verdadero de los trabajos launchd [cerrado]

4
launchctl list

launchctl bstree

Estos muestran qué trabajos están activos, inactivos o inactivos, supuestamente. Nunca he visto un trabajo inactivo personalmente. Incluso los que he intentado desactivar se muestran como 'D'

Ahora, en /var/db/launchd.db hay archivos de texto que muestran, por usuario, qué trabajos están realmente deshabilitados, lamentablemente, el viejo interruptor -w fue desaprobado, y la tecla Desactivado en el plist es solo una opción predeterminada . No sé por qué harían tal cosa, parece que no hay manera de decirlo definitivamente

"El servicio X está desactivado".

Parece que ejecutando como root debería poder preguntar qué está encendido y qué está apagado. ¿Qué estoy haciendo mal?

EDITAR: Lo que estaba haciendo mal fue ignorar

/var/db/launchd.db/com.apple.launchd/overrides.plist

¿Cuál es el lugar definitivo aparentemente para el estado actual de un demonio?

Prácticamente, esto significa que el valor predeterminado estará en los archivos plist en / System / Launch * / Biblioteca / Lanzamiento * ~ / Biblioteca / Lanzamiento * y uno puede simplemente volar (errrm copiar y mover) ese directorio y reiniciar a un conjunto predeterminado. Esto me funcionó recientemente.

    
pregunta chiggsy 17.07.2011 - 13:28

3 respuestas

3

El estado verdadero es si un trabajo está actualmente cargado o no.

Vuelva a leer el launchd philosophy - los elementos 4 y 1 explican que launchd espera hasta el último momento antes de comenzar la tarea secundaria y que el proceso vendrá y se irá con la sincronización de launchd, la aceleración y la desactivación de tareas según sea necesario.

Todos estos se registran en el registro del sistema. top y ps le mostrarán los procesos actuales. Supongo que podría adjuntar launchd a un depurador si necesita saber el estado exacto ya que el código actual no hace una lista a su gusto.

    
respondido por el bmike 17.07.2011 - 15:06
5

La GUI de launchd LaunchControl le proporcionará una lista de servicios junto con su estado respectivo. Puede ver si un trabajo se ha deshabilitado mirando la casilla de verificación junto al nombre del trabajo. Una casilla de verificación de color indica que la tecla Deshabilitada se ha invalidado: una casilla de verificación roja significa un trabajo deshabilitado permanentemente, una verde para un trabajo habilitado permanentemente.

    
respondido por el LCC 31.10.2013 - 19:01
-1

Gracias a la información de chiggsy, pudimos solucionar un problema en Mountain Lion, donde org.apache.httpd se mostraba como no ejecutándose en "launchctl list", pero de hecho se estaba ejecutando después del reinicio, evitando que MacPorts httpd para ejecutar correctamente. Edité el archivo overrides.plist y configuré org.apache.httpd disabled = true hizo el truco. Debe ocurrir algo en la actualización de Lion to Mountain Lion que habilitó com.apache.httpd.

    
respondido por el Atomic 14.08.2012 - 14:47

Lea otras preguntas en las etiquetas