Diferencia de lanzamiento entre carga y arranque, descarga y parada

22

Estaba leyendo la página de manual 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?
Jason Rubenstein
fuente

Respuestas:

14

TL; DR

  • Por lo general, desea usar launchctl load -wy launchctl unload -w.
  • starty stopgeneralmente están reservados para probar o depurar un trabajo.

Detalles

  • launchctl start <label>: Comienza el trabajo. Esto generalmente se reserva solo para probar o depurar un trabajo en particular.
  • launchctl stop <label>: Detiene el trabajo. Frente al inicio, y es posible que el trabajo se reinicie inmediatamente si el trabajo está configurado para permanecer en ejecución.

  • launchctl remove <label>: Elimina el trabajo launchd, pero de forma asincrónica. No esperará a que el trabajo se detenga realmente antes de regresar, por lo que no hay manejo de errores en este.

  • launchctl load <path>: Carga e inicia el trabajo siempre que el trabajo no esté "deshabilitado".
  • launchctl unload <path>: Detiene y descarga el trabajo. El trabajo aún se reiniciará en el próximo inicio de sesión / reinicio.

  • launchctl load -w <path>: Carga e inicia el trabajo mientras también marca el trabajo como "no deshabilitado". El trabajo se reiniciará en el próximo inicio de sesión / reinicio.
  • launchctl unload -w <path>: Detiene, descarga y desactiva el trabajo. El trabajo NO se reiniciará en el próximo 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 normalmente coincide con el nombre de archivo del archivo plist.

Ryan McGeary
fuente
Gracias, me salvó unas horas 👏🏻
Dana Woodman
7

La carga y descarga le dice a launchd que cargue el archivo de configuración. El archivo plist determina si ejecuta el programa y en qué condiciones lo determina. Un trabajo que no se está ejecutando actualmente puede iniciarse launchctl start ...y detenerse launchctl stop ....

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

Jay Thompson
fuente
66
¿Cómo elimina el factor en esto? Específicamente, ¿en qué se diferencia de la descarga?
Chrisman el
@chrisortman remove es como descargar, excepto que no espera a que el trabajo se detenga primero. Simplemente regresa inmediatamente sin verificar si se produjo algún error.
Ryan McGeary