Atrun
runs jobs queued by
at(1).
The system
crontab(5)
file
/etc/crontab
must contain the line
*/5 * * * * root /usr/libexec/atrun
so
atrun
is invoked every five minutes.
At every invocation,
atrun
starts all the jobs in the lowercase queues whose start
time has elapsed.
In addition, if the load average over the last minute was less than
the specified limit, then a maximum of one batch job (denoted by the
uppercase queues) is started.
Before starting a job,
atrun
checks the status of its owner's account with
pam(3)
and refuses to run the job if the account is unavailable,
e.g., locked out or expired.