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?