Je veux exécuter un script toutes les 60 secondes. J'ai créé un fichier .plist comme suit
<?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>
Le contenu du script spécifié est le suivant :
#!/bin/bash
echo [$(date +"%Y-%m-%d %H:%M:%S")] run
C'est-à-dire que le script ne fait que sortir le temps d'exécution dans son stdout (bien sûr, c'est un exemple).
J'ai placé le fichier .plist dans mon ~/Library/LaunchAgent
. Attendre plusieurs minutes et vérifier le contenu du StandardOutPath
j'ai eu ça.
$ 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
Il semble que mon agent de lancement se lance toutes les 10 secondes alors que la valeur de l'intervalle de démarrage est de 60.
Quelqu'un peut-il résoudre le problème ?