Avviato lo scaricamento di LaunchDaemon

0

Ho uno script pianificato per l'esecuzione come LaunchDaemon. Lo script funziona bene quando viene avviato manualmente tramite terminale.

Ho due comandi

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

plist below

<?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>

quando vengono eseguiti separatamente, funzionano. Ma una volta programmato in launchd viene eseguito per una frazione di secondo che va a scaricare. Sto indovinando una volta che scarica lo script che smette di funzionare. Modifico i valori degli intervalli impostati nel plist con un altro script, motivo per cui ho bisogno di scaricare e caricare. C'è un altro modo per farlo?

    
posta MBP2013 27.10.2014 - 18:55
fonte

2 risposte

1

Il problema è forse che il tuo comando unload non è terminato prima dell'avvio del comando load ?

Che ne dici di provare kickstart, invece? "-k" indica a launchctl di "uccidere l'istanza in esecuzione prima di riavviare il servizio."

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

Tieni presente che load e unload sono ora in "Comandi legacy" nella pagina man di Yosemite launchctl.

    
risposta data 27.10.2014 - 21:08
fonte
0

Grazie Alastair, buono a sapersi per il futuro, ma al momento sto eseguendo solo Mavericks.

La mia soluzione era di inserire i comandi di caricamento nel primo script (che non è eseguito da launchd). Penso che il problema sia stato causato nel tentativo di scaricare e caricare mentre launchd stava già eseguendo lo script.

Grazie per i suggerimenti

    
risposta data 31.10.2014 - 14:42
fonte

Leggi altre domande sui tag