atrm(1) on Solnix vs Linux and the BSDs

On Solnix, atrm is the illumos atrm at /usr/bin/atrm, a separate command that removes jobs by job number or by user name and has -a, -f and -i. Linux, FreeBSD and NetBSD document atrm only as 'atrm job ...' (Linux and NetBSD also take -V), so scripts that rely on -a, -f, -i or user names will fail there. OpenBSD matches Solnix on flags.

What Solnix runs

A default Solnix system runs the illumos atrm at /usr/bin/atrm, published in pkgs.solnix.illumos-world-man. No other variants are shipped. Removing other users' jobs needs solaris.jobs.admin privileges; the page points to auths(1) and auth_attr(5) for that.

Differences

Compared withTopicWhat differs
Linux, FreeBSD, NetBSD-a, -f, -i optionsSolnix atrm accepts -a (remove all your unexecuted jobs), -f (suppress removal messages) and -i (ask before each removal). The Linux, FreeBSD and NetBSD synopses show only job numbers, with -V on Linux and NetBSD, and no -a, -f or -i.
Source: Solnix atrm(1) SYNOPSIS, OPTIONS -a -f -i; Linux atrm(1) SYNOPSIS; FreeBSD atrm(1) SYNOPSIS; NetBSD atrm(1) SYNOPSIS
Linux, FreeBSD, NetBSDremoving by user nameSolnix atrm accepts user names and removes all of that user's jobs, if you own them or have privilege. The Linux, FreeBSD and NetBSD synopses take only job numbers, and the pages do not describe user-name arguments.
Source: Solnix atrm(1) SYNOPSIS, DESCRIPTION; Linux atrm(1) SYNOPSIS; FreeBSD atrm(1) SYNOPSIS; NetBSD atrm(1) SYNOPSIS
Linux, FreeBSD, NetBSDseparate command vs. page for atOn Linux, FreeBSD and NetBSD, atrm is documented inside the at(1) page, along with at -r and at -d as aliases for it. The Solnix atrm page is its own page and documents no at -r or at -d alias.
Source: Linux atrm(1) NAME, OPTIONS -r -d; FreeBSD atrm(1) OPTIONS -r -d; NetBSD atrm(1) OPTIONS -r -d; Solnix atrm(1) NAME
Linux, NetBSD-V optionLinux and NetBSD atrm accept -V, which prints the version number to standard error. The Solnix atrm page lists no -V.
Source: Linux atrm(1) SYNOPSIS, OPTIONS -V; NetBSD atrm(1) SYNOPSIS, OPTIONS -V; Solnix atrm(1) OPTIONS
Linux, FreeBSD, NetBSDwho may remove other users' jobsOn Solnix, removing another user's jobs requires solaris.jobs.admin privileges, and root running -a empties the entire queue. The Linux, FreeBSD and NetBSD atrm text does not say who may remove other users' jobs, only that the superuser may use these commands.
Source: Solnix atrm(1) DESCRIPTION, -a; Linux atrm(1) DESCRIPTION; FreeBSD atrm(1) DESCRIPTION; NetBSD atrm(1) DESCRIPTION
OpenBSDprivilege modelOpenBSD says only the superuser may remove other users' jobs. Solnix ties this to the solaris.jobs.admin privilege, which a non-root account can hold. The flags and arguments are otherwise the same: -a, -f, -i, job numbers and user names.
Source: OpenBSD atrm(1) DESCRIPTION; Solnix atrm(1) DESCRIPTION, SYNOPSIS
OpenBSD-i confirmation parsingOpenBSD removes a job when the user answers 'y'. Solnix matches the answer against the yesexpr of the user's LC_MESSAGES locale, so the accepted affirmative depends on locale settings.
Source: OpenBSD atrm(1) -i; Solnix atrm(1) -i, ENVIRONMENT VARIABLES
all fourenvironment variablesThe Solnix page lists LANG, LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES and NLSPATH as affecting atrm. The Linux, FreeBSD, OpenBSD and NetBSD atrm text documents no environment variables that affect atrm.
Source: Solnix atrm(1) ENVIRONMENT VARIABLES; Linux, FreeBSD, OpenBSD and NetBSD atrm(1) (no such section)
Linux, FreeBSD, NetBSDaccess-control filesThe Linux, FreeBSD and NetBSD pages tie at permissions to at.allow and at.deny: /etc/at/ on Linux, /var/at/ on FreeBSD and NetBSD. The Solnix atrm page names no such file and refers to privileges and auths(1) instead.
Source: Linux atrm(1) DESCRIPTION; FreeBSD atrm(1) DESCRIPTION; NetBSD atrm(1) DESCRIPTION; Solnix atrm(1) DESCRIPTION, SEE ALSO

Standards

  • POSIX: atrm is not a POSIX.1-2024 utility.
  • NetBSD: The at and batch utilities conform to IEEE Std 1003.2-1992 (“POSIX.2”). The page does not make this claim for atrm specifically.
  • OpenBSD: The atrm command appeared in 4.3BSD.
  • Solnix: The page text in the bundle gives no standards or interface stability statement.

Writing portable scripts

  • For portability, use only job numbers: atrm job [job ...] works on every system in the bundle. Get job numbers from atq, and avoid -a, -f, -i and user-name arguments, which only Solnix and OpenBSD document.
  • Do not rely on at -r or at -d aliases on Solnix; the Solnix atrm page documents neither. Call atrm directly.

Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.