Quiero ejecutar un script cada 60 segundos. Hice un archivo .plist como el siguiente
<?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>KeepAlive</key>
<true/>
<key>Label</key>
<string>info.hotoku.launch-sample</string>
<key>ProgramArguments</key>
<array>
<string>/Users/hotoku/projects/hotoku/launch-sample/run</string>
</array>
<key>StandardErrorPath</key>
<string>/Users/hotoku/projects/hotoku/launch-sample/stderr</string>
<key>StandardOutPath</key>
<string>/Users/hotoku/projects/hotoku/launch-sample/stdout</string>
<key>WorkingDirectory</key>
<string>/Users/hotoku/projects/hotoku/launch-sample</string>
<key>StartInterval</key>
<integer>60</integer>
</dict>
</plist>
El contenido del script especificado es el siguiente:
#!/bin/bash
echo [$(date +"%Y-%m-%d %H:%M:%S")] run
Es decir, el script sólo emite el tiempo de ejecución a su stdout (por supuesto, esto es un ejemplo).
Puse el archivo .plist en mi ~/Library/LaunchAgent
. Esperar varios minutos y comprobar el contenido de StandardOutPath
tengo esto.
$ cat /Users/hotoku/projects/hotoku/launch-sample/stdout
[2022-02-01 09:13:55] run
[2022-02-01 09:14:05] run
[2022-02-01 09:14:15] run
[2022-02-01 09:14:25] run
[2022-02-01 09:14:35] run
[2022-02-01 09:14:46] run
[2022-02-01 09:14:56] run
[2022-02-01 09:15:06] run
[2022-02-01 09:15:16] run
[2022-02-01 09:15:26] run
Parece que mi agente de lanzamiento se lanza cada 10 segundos aunque el valor del intervalo de inicio sea 60.
¿Puede alguien solucionar el problema?