Launchd descargando LaunchDaemon

0

Tengo un script programado para ejecutarse como LaunchDaemon. El script se ejecuta bien cuando se inicia manualmente a través del terminal.

Tengo dos comandos

sudo launchctl unload -F /Library/LaunchDaemons/com.test.plist
sudo launchctl load -F /Library/LaunchDaemons/com.test.plist

plista abajo

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com  
 /DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
  <key>Label</key>
  <string>com.test.plist</string>
 <key>Program</key>
 <string>/usr/local/bin/test.sh</string>
 <key>StandardErrorPath</key>
 <string>/tmp/com.test.plist.err</string>
<key>StandardOutPath</key>
<string>/tmp/com.test.plist.out</string>
<key>StartCalendarInterval</key>
<dict>
    <key>Hour</key>
    <integer>18</integer>
    <key>Minute</key>
    <integer>4</integer>
</dict>

cuando se ejecutan por separado funcionan. Pero una vez programado en launchd, se ejecuta durante una fracción de segundo y luego se descarga. Supongo que una vez que descarga la secuencia de comandos deja de ejecutarse. Cambio los valores de los intervalos establecidos en el plist con otra secuencia de comandos, por lo que necesito descargar y cargar. ¿Hay otra manera de hacer esto?

    
pregunta MBP2013 27.10.2014 - 18:55

2 respuestas

1

¿El problema quizás es que su comando unload no se ha completado antes de que comience el comando load ?

¿Qué tal si intentas kickstart? "-k" indica a launchctl que "elimine la instancia en ejecución antes de reiniciar el servicio".

  

sudo launchctl kickstart -k /Library/LaunchDaemons/com.test.plist

Tenga en cuenta que load y unload ahora están bajo "Comandos heredados" en la página de manual de Yosemite launchctl.

    
respondido por el Alistair McMillan 27.10.2014 - 21:08
0

Gracias Alastair, es bueno saberlo para el futuro, pero actualmente solo estoy ejecutando Mavericks.

Mi solución fue colocar los comandos de carga en la primera secuencia de comandos (que no se ejecuta con launchd). Creo que el problema se debió al intentar descargar y cargar mientras Launchd ya estaba ejecutando el script.

Gracias por las sugerencias

    
respondido por el MBP2013 31.10.2014 - 14:42

Lea otras preguntas en las etiquetas