J'ai configuré le launchd pour démarrer une commande à 18 heures tous les jours sur mon mac pro, mais cela ne fonctionnait pas.
Je veux vérifier si le launchd a exécuté la commande. J'ai essayé la console système, je n'ai rien trouvé de valable.
ma version mac os est mac os x 10.8.3
Mon fichier plist:
<?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>mytask</string>
<key>Program</key>
<string>/opt/local/bin/node</string>
<key>ProgramArguments</key>
<array>
<string>/Users/xxx/My/task.js</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>18</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
<key>StandardOutPath</key>
<string>/Users/xxx/launchd.stdout.log</string>
<key>StandardErrorPath</key>
<string>/Users/xxx/launchd.stderr.log</string>
</dict>
</plist>
Vous avez défini StartCalendarInterval
, donc le travail a été exécuté lors de son chargement et il sera exécuté tous les jours à 18h00.
Recherchez launchd (8) pour connaître son état de sortie:
launchctl list | grep mytask
cela retournera une ligne ligne ceci:
<pid> <status> mytask
Lorsque pid
est un nombre, le travail est en cours d'exécution. Sinon, jetez un œil à status
, qui est le code de sortie du programme, noeud dans votre cas. Un code de sortie de 0 signifie que le programme s'est terminé avec succès ou qu'il n'a pas encore été démarré. Les nombres positifs sont renvoyés pour les erreurs de programme, tandis que les nombres négatifs signifient que le travail s'est terminé en raison d'un signal.
Je suppose que le travail a échoué. Vous voudrez peut-être vérifier la sortie/erreur standard du programme. Spécifiez StandardOutPath
et StandardErrorPath
pour ce faire. Le contenu de ces fichiers vous expliquera probablement pourquoi le programme a échoué.