Description du problème
L'exécution de l'utilisateur LaunchAgent suivant n'affiche pas de travail démarré, et le travail n'enregistre pas d'erreur ni ne fait quoi que ce soit de détectable. Les commandes Vault intégrées dans le fichier plist fonctionnent bien lorsqu'elles sont exécutées à partir de la crontab de l'utilisateur ou de la ligne de commande. J'ai exécuté les commandes suivantes en tant qu'utilisateur non-Root :
# returns exit status 3
launchctl start local.localhost.RenewVaultToken.plist
echo $?
# also returns exit status 3
launchctl enable gui/$UID/local.localhost.RenewVaultToken
launchctl start gui/$UID/local.localhost.RenewVaultToken
echo $?
# returns "Load failed: 5: Input/output error"
launchctl load gui/$UID/local.localhost.RenewVaultToken
# no results
launchctl list | fgrep -i vault
Le journal du système ne révèle rien d'identifiable et aucun fichier journal n'est créé. Pour autant que je puisse en juger, le travail ne peut ni ne veut démarrer ou s'exécuter, mais je ne suis pas sûr de savoir comment le déboguer plus efficacement.
Contenu du fichier LaunchAgent
Le fichier suivant est stocké dans ~/Library/LaunchAgents
avec le nom de fichier local.localhost.RenewVaultToken.plist
. Le fichier est mis en mode 0600
.
<?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">
<!-- ~/Library/LaunchAgents/local.localhost.RenewVaultToken.plist -->
<plist version="1.0">
<dict>
<key>Label</key>
<string>local.localhost.RenewVaultToken</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/vault</string>
<string>token</string>
<string>renew</string>
<string>-increment=12h</string>
<string>-address="https://vault.example.com"</string>
</array>
<key>StartInterval</key>
<integer>14400</integer>
<key>RunAtLoad</key>
<true/>
<key>Debug</key>
<true/>
<key>StandardOutPath</key>
<string>/Users/foo/stdout.log</string>
<key>StandardErrorPath</key>
<string>/Users/foo/stderr.log</string>
</dict>
</plist>