---
name: "atrun"
section: "8"
platform: "macos"
package: "system_cmds"
version: "1042.120.1"
release: "macOS 26.5"
platforms: ["linux", "freebsd", "macos"]
url: "https://new.carta.tech/atrun"
---

# atrun(8)

run jobs queued for later execution

## NAME

**atrun** – run jobs queued for later execution

## SYNOPSIS

**atrun** \[**-l** *load\_avg*\] \[**-d**\]

## DESCRIPTION

The **atrun** utility runs commands queued by [at(1)](/at/1.md). It is invoked periodically by launchd(8) as specified in the *com.apple.atrun.plist* property list. By default the property list contains the *Disabled* key set to true, so **atrun** is never invoked.

Execute the following command as root to enable **atrun**:

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

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)](/pam/3.md) and refuses to run the job if the account is unavailable, e.g., locked out or expired.

## OPTIONS

- **-l** *load\_avg*

  Specify a limiting load factor, over which batch jobs should not be run, instead of the default of 1.5 \* number of active CPUs.

- **-d**

  Debug; print error messages to standard error instead of using [syslog(3)](/syslog/3.md).

## FILES

- */etc/pam.d/atrun*

  [pam.conf(5)](/pam.conf/5.md) configuration file for **atrun**

- */usr/lib/cron/jobs*

  Directory containing job files

- */usr/lib/cron/spool*

  Directory containing output spool files

## SEE ALSO

[at(1)](/at/1.md), [pam(3)](/pam/3.md), [syslog(3)](/syslog/3.md), [pam.conf(5)](/pam.conf/5.md), launchd(8)

## AUTHORS

Thomas Koenig ⟨ig25@rz.uni-karlsruhe.de⟩
