62 votos

Launchctl diferencia entre cargar e iniciar, descargar y parar

Estaba leyendo la página man de launchctl y tengo algunas preguntas sobre su funcionamiento:

  • ¿Cuál es la diferencia entre cargar y arrancar, descargar y parar?
  • ¿Dónde encuentro la etiqueta de trabajo para un demonio, está en el archivo plist?

85voto

NotMyself Puntos 7567

TL;DR

  • Lo normal es utilizar launchctl load -w y launchctl unload -w .
  • start y stop suelen reservarse para probar o depurar un trabajo.

Detalles

  • launchctl start <label> : Inicia el trabajo. Suele reservarse sólo para probar o depurar un trabajo concreto.
  • launchctl stop <label> : Detiene el trabajo. Lo contrario de iniciar, y es posible que el trabajo se reinicie inmediatamente si el trabajo está configurado para permanecer en funcionamiento.

  • launchctl remove <label> : Elimina el trabajo de launchd pero de forma asíncrona. No esperará a que el trabajo se detenga realmente antes de devolverlo, por lo que no hay manejo de errores en este caso.

  • launchctl load <path> : Carga e inicia el trabajo siempre que el trabajo no esté "desactivado".
  • launchctl unload <path> : Detiene y descarga el trabajo. El trabajo seguirá reiniciándose en el siguiente inicio de sesión/reinicio.

  • launchctl load -w <path> : Carga e inicia el trabajo al mismo tiempo que marca el trabajo como "no deshabilitado". El trabajo se reiniciará en el siguiente inicio de sesión/reinicio.
  • launchctl unload -w <path> : Paradas y descargas y desactiva el trabajo. El trabajo NO reiniciar en el siguiente inicio de sesión/reinicio.

¿Dónde encuentro la etiqueta de trabajo para un demonio, está en el archivo plist?

Sí, está en el archivo plist y suele coincidir con el nombre del archivo plist.

10voto

Jay Thompson Puntos 1930

La carga y descarga le dice a launchd que cargue el archivo de configuración. Si ejecuta el programa y bajo qué condiciones está determinado por el archivo plist. Un trabajo que no se está ejecutando actualmente puede iniciarse con launchctl start ... y se detuvo con launchctl stop ... .

La etiqueta del trabajo está definida por la clave label, y el nombre del plist debe ser también la etiqueta del trabajo seguida de la extensión del plist.

6 votos

¿Cómo influye la eliminación en esto? Concretamente, ¿en qué se diferencia de la descarga?

2 votos

@chrisortman remove es como unload excepto que no espera a que el trabajo se detenga primero. Simplemente vuelve inmediatamente sin comprobar si se ha producido algún error.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X