launchd

¿Cómo comprobar si launchd ha iniciado el script?



(1)

Definió StartCalendarInterval , por lo que el trabajo se ejecutó cuando se cargó y se ejecutará todos los días a las 18:00.

Consulta launchd (8) para averiguar su estado de salida:

launchctl list | grep mytask

esto devolverá una línea de esta línea:

<pid> <status> mytask

Cuando pid es un número, el trabajo se está ejecutando actualmente. De lo contrario, consulte el status , que es el código de salida del programa, nodo en su caso. Un código de salida de 0 significa que el programa se terminó con éxito o que aún no se ha iniciado. Los números positivos se devuelven por errores de programa, mientras que los negativos indican que el trabajo ha finalizado debido a una señal.

Asumo que el trabajo falló. Es posible que desee comprobar la salida / error estándar de los programas. Especifique StandardOutPath y StandardErrorPath para hacer eso. El contenido de estos archivos probablemente le dirá por qué falló el programa.

Configuré el launchd para iniciar un comando a las 18 pm todos los días en mi mac pro, pero no estaba funcionando.

Quiero comprobar si el launchd ha ejecutado el comando. Probé la consola del sistema, no encontré nada valioso.

Mi versión de mac os es mac os x 10.8.3

Mi archivo 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>