How to use Launchctl for schedule application
launchctl is for loading, manipulating and unloading LaunchAgents and LaunchDaemons, it doesn't directly support delayed execution. What you can do instead is


Run sleep $((10 * 60)); launchctl submit -l my_choosen_name mkdir /tmp/mydir
Run launchctl submit -l my_name -- bash -c 'sleep 6$((10 * 60)) &amp;&amp; mkdir /tmp/mydir'
Have your LaunchDaemon plist call a script (instead of the application directly) and include the sleep in the script before it starts the application


To have it run every 10 minutes use

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