Search code examples
macoscronlaunchd

Is 'at' broken in OSX?


'at' is a UNIX/BSD/Linux programming tool I use in scheduling some operational forecasting models. In testing some of my scripts on my Mac laptop, I found that the at tool accepted job submissions without error, and reported them in queue, but ultimately did not execute them.

Searching for useful answers for the at tool is difficult because of the common-as-dirt name. However, I saw is crontab broken on OSX El Capitan? while trying to solve this problem.

$ at now + one minute
echo "hello world" |say
^D
$ atq  # list at jobs...
7   Mon Mar 13 14:31:00 2017
$

Solution

  • No, but it is disabled by default. See man at and man atrun for details. Darwin based systems use launchd rather than init to invoke programs like crond and atrun.

    Start atrun with

    sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist
    

    Or enable it for future bootups by modifying /System/Library/LaunchDaemons/com.apple.atrun.plist to have:

    ...
    <key>Enabled</key>
    ...