nice(1) on Solnix vs Linux and the BSDs
On Solnix, nice is the illumos nice at /usr/bin/nice. It runs a command with a changed niceness, and the default increment is 10 as on the other systems. Unlike Linux, it always needs a command: the Solnix page documents no way to print the current niceness and no --adjustment long option.
The manual pages
- Solnix: nice(1) from
pkgs.solnix.illumos-world-man· illumos.org - Linux: nice(1) coreutils-full-9.11
- FreeBSD: nice(1) 15.1-RELEASE
- OpenBSD: nice(1) 8.0
- NetBSD: nice(1) 11.0
- Standard: POSIX.1-2024 (IEEE Std 1003.1-2024),
nice
What Solnix runs
A default Solnix system runs the illumos /usr/bin/nice. /usr/xpg4/bin/nice is also shipped with the same synopsis. The page does not say how it differs, but its ATTRIBUTES table lists Interface Stability as Standard. csh also has a built-in nice with different syntax, which is described in csh(1).
Differences
| Compared with | Topic | What differs |
|---|---|---|
| Linux | no command given | With no COMMAND, Linux nice prints the current niceness. The Solnix synopsis makes command mandatory, and the page describes no such mode. Scripts that call plain nice to read the niceness will not work on Solnix. Source: Linux nice(1) DESCRIPTION; Solnix nice(1) SYNOPSIS |
| Linux | long options | Linux nice accepts -n, --adjustment=N, --help and --version. The Solnix page documents only -increment and -n increment, with no long options.Source: Linux nice(1) -n, --adjustment, --help, --version; Solnix nice(1) SYNOPSIS, OPTIONS |
| FreeBSD, OpenBSD, NetBSD | -increment form | Solnix lists -increment as a normal alternative to -n increment. FreeBSD, OpenBSD and NetBSD call -increment historic or deprecated, though still supported, and their synopses show only -n. The Linux page does not document -increment.Source: Solnix nice(1) SYNOPSIS, OPTIONS; FreeBSD nice(1) COMPATIBILITY; OpenBSD nice(1) STANDARDS; NetBSD nice(1) COMPATIBILITY; Linux nice(1) DESCRIPTION |
| Linux, OpenBSD, NetBSD | niceness range | Linux documents -20 to 19. OpenBSD and NetBSD document -20 to 20, and NetBSD says 19 or 20 takes no cycles from processes at nice 0 or better. The Solnix page states no range.Source: Linux nice(1) DESCRIPTION; OpenBSD nice(1) DESCRIPTION; NetBSD nice(1) DESCRIPTION; Solnix nice(1) OPTIONS |
| all four | negative increment for unprivileged users | On Solnix, a negative increment from an unprivileged user is ignored, and nice() errors other than EINVAL are ignored. The other pages say only that the superuser may use a negative increment, and do not say what happens to anyone else. Source: Solnix nice(1) OPTIONS; FreeBSD nice(1) DESCRIPTION; OpenBSD nice(1) DESCRIPTION; NetBSD nice(1) DESCRIPTION; Linux nice(1) DESCRIPTION |
| Linux | exit status when nice fails | Linux nice exits 125 if nice itself fails. Solnix, OpenBSD and NetBSD use the range 1-125 for any nice error. All three use 126 for found-but-not-invokable and 127 for not found. Source: Linux nice(1) Exit status; Solnix nice(1) EXIT STATUS; OpenBSD nice(1) EXIT STATUS; NetBSD nice(1) EXIT STATUS |
| FreeBSD | exit status 1-125 undocumented | The FreeBSD page documents only 126, 127 and the command's own status. It gives no range for errors raised by nice itself, while Solnix documents 1-125. Source: FreeBSD nice(1) EXIT STATUS; Solnix nice(1) EXIT STATUS |
| all four | csh built-in | In csh, plain nice runs the built-in unless you give the full path. Solnix says the built-in takes nice [-increment | +increment] [command]. NetBSD's BUGS section says nice +10 nices to positive and nice -10 is for the super-user. OpenBSD says the csh syntax differs.Source: Solnix nice(1) DESCRIPTION, csh Builtin; NetBSD nice(1) BUGS; OpenBSD nice(1) STANDARDS; FreeBSD nice(1) DESCRIPTION |
| all four | shell and environment variables | Solnix says nice uses /usr/bin/sh when it runs commands with arguments. It lists LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, PATH and NLSPATH as affecting nice. FreeBSD lists only PATH. The Linux, OpenBSD and NetBSD pages list none.Source: Solnix nice(1) DESCRIPTION, ENVIRONMENT VARIABLES; FreeBSD nice(1) ENVIRONMENT |
| all four | scheduling class requirement | Solnix requires the invoking process (usually the shell) to be in a scheduling class that supports nice, and points to priocntl(1) as the more general interface. The other pages state no such requirement. Source: Solnix nice(1) DESCRIPTION; Linux, FreeBSD, OpenBSD, NetBSD nice(1) DESCRIPTION |
Standards
- POSIX: nice is a POSIX.1-2024 utility.
- Solnix:
/usr/xpg4/bin/nice: Interface Stability is Standard. The page's SEE ALSO refers to standards(7). - FreeBSD: The nice utility conforms to IEEE Std 1003.1-2001 (“POSIX.1”).
- OpenBSD: The nice utility is compliant with the IEEE Std 1003.1-2008 (“POSIX.1”) specification.
- NetBSD: The nice utility conforms to IEEE Std 1003.2-1992 (“POSIX.2”).
Writing portable scripts
- Write nice
-nincrement command [argument ...]. This form appears on every system, and the-incrementform is deprecated on the BSDs. - Do not rely on plain nice to print the current niceness (Linux only), or on
--adjustment. - Call
/usr/bin/niceor env nice if you need the utility rather than a csh built-in.
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.