0 votes

Comment utiliser Launchctl pour planifier une application

J'essaie de travailler avec Launchctl et j'ai une question à poser :

Comment configurer une application pour qu'elle fonctionne en quelques minutes à l'aide de Launchctl ? (par exemple, ouvrir le programme MyApp.app avec les arguments "hello" "world" Toutes les 10 minutes)

Je sais qu'il est facile de le faire en créant Launch Agent Je cherche un moyen de le faire en utilisant Launchctl directement ou par programme.

1voto

nohillside Points 82672

launchctl sert à charger, manipuler et décharger les LaunchAgents et les LaunchDaemons, il ne prend pas directement en charge l'exécution différée. Ce que vous pouvez faire à la place est

  • Exécuter sleep $((10 * 60)); launchctl submit -l my_choosen_name mkdir /tmp/mydir
  • Exécuter launchctl submit -l my_name -- bash -c 'sleep 6$((10 * 60)) && mkdir /tmp/mydir'
  • Demandez à votre plist LaunchDaemon d'appeler un script (au lieu de l'application directement) et incluez le fichier sleep dans le script avant de lancer l'application

Pour qu'il s'exécute toutes les 10 minutes, utilisez

while sleep $((10 * 60)); do
    launchctl submit -l my_choosen_name -- myapp hello world
done

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X