renice(1) on Solnix vs Linux and the BSDs

On Solnix, renice is the illumos renice at /usr/bin/renice. It takes either a bare priority or -n increment, and adds -i idtype, which none of the other systems document. Linux renice -n sets an absolute priority unless POSIXLY_CORRECT is set. On Solnix and the BSDs, -n is an increment.

What Solnix runs

A default Solnix system runs the illumos renice at /usr/bin/renice. /usr/ucb/renice is also shipped, but the bundle does not describe it. The Solnix page calls the -g/-p/-u syntax obsolete in favour of -i idtype, and says priocntl(1) subsumes renice.

Differences

Compared withTopicWhat differs
Linux-n meaningSolnix renice -n increment adjusts the current priority. Linux -n sets an absolute priority by default and is relative only when POSIXLY_CORRECT is set. A Linux script with renice -n 5 sets nice 5. The same line on Solnix adds 5.
Source: Solnix renice(1) -n; Linux renice(1) -n, NOTES, --relative
FreeBSD, OpenBSD, NetBSDbare first numberOn Solnix, a first operand within -20 to 20 is taken as an absolute priority, and anything else as an ID. FreeBSD and NetBSD also treat a first argument without -n as a priority. OpenBSD does so only for compatibility, and NetBSD calls it the new priority. The BSD pages do not describe Solnix's range test.
Source: Solnix renice(1) DESCRIPTION; FreeBSD renice(8) SYNOPSIS; OpenBSD renice(8) -n; NetBSD renice(8) DESCRIPTION
all four-i idtypeSolnix has -i idtype with pid, pgid, uid, gid, sid, taskid, projid and zoneid, and prefers it to -g/-p/-u. The other four pages document no -i, and no way to select by session, task, project or zone.
Source: Solnix renice(1) SYNOPSIS, -i, NOTES; Linux/FreeBSD/OpenBSD/NetBSD renice SYNOPSIS
all fourmultiple ID listsOn Solnix, the old syntax lets -g, -p and -u each take several arguments, so one command can mix gids, pids and users. The pid can omit -p. The other pages describe one target type per -gpu flag, or a single id.
Source: Solnix renice(1) SYNOPSIS, OPTIONS; Linux renice(1) SYNOPSIS; FreeBSD renice(8) SYNOPSIS; OpenBSD renice(8) SYNOPSIS; NetBSD renice(8) SYNOPSIS
Linuxlong options and helpLinux renice has --priority, --relative, --pgrp, --pid, --user, -h/--help and -V/--version. The Solnix page documents only -g, -i, -n, -p and -u, and no help or version option.
Source: Linux renice(1) OPTIONS; Solnix renice(1) OPTIONS
all fournice range for unprivileged usersSolnix limits ordinary users to raising nice within 0 to 19. The privileged user can use -20 to 19, and 20 is rounded down to 19. The BSD pages give the top of the range as PRIO_MAX (20) and list 20 as a useful priority. Linux gives -20 to 19.
Source: Solnix renice(1) Altering Process Priority; FreeBSD renice(8) DESCRIPTION; OpenBSD renice(8) DESCRIPTION; NetBSD renice(8) DESCRIPTION; Linux renice(1) NOTES
Linuxundoing a nice increaseLinux says an unprivileged increase is irreversible unless the user has a suitable nice resource limit (since Linux 2.6.12). The Solnix page says only that ordinary users cannot raise priority again, and mentions no resource limit.
Source: Linux renice(1) NOTES; Solnix renice(1) NOTES
NetBSDincrements on groups and usersNetBSD adds an increment to the highest priority found among a process group's members or a user's processes, then sets them all. The Solnix page does not say how -n applies to a group or user.
Source: NetBSD renice(8) DESCRIPTION (with -g, with -u); Solnix renice(1) -n
NetBSD-u argumentsSolnix -u accepts a user name or a numeric UID. NetBSD describes -u arguments only as user names. FreeBSD, OpenBSD and Linux accept names or IDs.
Source: Solnix renice(1) -u; NetBSD renice(8) -u; FreeBSD renice(8) -u; OpenBSD renice(8) -u; Linux renice(1) -u
Linux, FreeBSD, NetBSDexit statusSolnix documents 0 on success and >0 on error, and the OpenBSD page says the same. The Linux, FreeBSD and NetBSD pages have no exit status section.
Source: Solnix renice(1) EXIT STATUS; OpenBSD renice(8) EXIT STATUS; Linux/FreeBSD/NetBSD renice
Linuxenvironment variablesOn Linux, POSIXLY_CORRECT changes what -n means. On Solnix, the page lists only LANG, LC_ALL, LC_CTYPE, LC_MESSAGES and NLSPATH, and none changes -n.
Source: Linux renice(1) DESCRIPTION, NOTES; Solnix renice(1) ENVIRONMENT VARIABLES

Standards

  • POSIX: renice is a POSIX.1-2024 utility.
  • Solnix: ATTRIBUTES: Interface Stability is Standard. The page also refers to standards(7).
  • FreeBSD: The renice utility conforms to IEEE Std 1003.1-2001 (“POSIX.1”).
  • OpenBSD: The renice utility is compliant with the IEEE Std 1003.1-2008 (“POSIX.1”) specification, except the way in which processes are specified differs. Passing increment as an absolute priority is kept for backwards compatibility.
  • Linux: The page says -n does not follow the POSIX specification by default (it sets an absolute priority). Setting POSIXLY_CORRECT makes it POSIX compliant.

Writing portable scripts

  • Avoid -n in portable scripts: it is an increment on Solnix and the BSDs but absolute by default on Linux. Use the bare priority form with an explicit -p, for example renice 10 -p PID.
  • Give one target type per flag and use -p explicitly. Do not rely on -i, the Linux long options, or Solnix multi-argument -g/-p/-u lists.

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.