shutdown(1b) on Solnix vs Linux and the BSDs
The Solnix page documents the BSD-style /usr/ucb/shutdown, which takes -f -h -k -n -r and a time. Its -k only simulates a shutdown, while on FreeBSD, OpenBSD and NetBSD -k kicks users off and disables logins. It has no power-off flag (-p or -P).
The manual pages
- Solnix: shutdown(1b) from
pkgs.solnix.illumos-world-man· illumos.org - Linux: shutdown(8) sysvinit-3.04
- FreeBSD: shutdown(8) 15.1-RELEASE
- OpenBSD: shutdown(8) 8.0
- NetBSD: shutdown(8) 11.0
What Solnix runs
The page describes /usr/ucb/shutdown, which ships with Solnix. The command on PATH by default is the illumos /usr/sbin/shutdown, and the bundle does not include its text. Do not assume the two take the same options. Check shutdown(8) for /usr/sbin/shutdown before scripting against it.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| FreeBSD, OpenBSD, NetBSD | -k meaning | Solnix -k simulates a shutdown and does nothing to the system. On FreeBSD, OpenBSD and NetBSD, -k kicks everybody off: the system stays multi-user with logins disabled for all but the superuser.Source: Solnix shutdown(1b) -k; FreeBSD shutdown(8) -k; OpenBSD shutdown(8) -k; NetBSD shutdown(8) -k |
| Linux | -k meaning | Solnix -k simulates the shutdown. Linux -k also does not shut down, but it only sends the warning messages to everybody.Source: Solnix shutdown(1b) -k; Linux shutdown(8) -k |
| FreeBSD | -f meaning | Solnix -f arranges, as fastboot(1B) does, that file systems are not checked at the next reboot. FreeBSD -f makes shutdown ignore the /var/run/noshutdown file. It has nothing to do with fsck.Source: Solnix shutdown(1b) -f; FreeBSD shutdown(8) -f |
| Linux, OpenBSD, NetBSD | -f and fsck | Linux -f and OpenBSD -f create /fastboot to skip fsck at the next boot. NetBSD -f works as fastboot(8) does. Linux also has -F, which creates /forcefsck to force a check. Solnix has no -F.Source: Linux shutdown(8) -f, -F; OpenBSD shutdown(8) -f; NetBSD shutdown(8) -f; Solnix shutdown(1b) -f |
| all four | no power-off flag | The Solnix page has no -p or -P. Its -h only executes halt(8), and the page does not say whether power is turned off. FreeBSD, OpenBSD and NetBSD use -p to power down, and Linux uses -h -P.Source: Solnix shutdown(1b) SYNOPSIS, -h; Linux shutdown(8) -P; FreeBSD shutdown(8) -p; OpenBSD shutdown(8) -p; NetBSD shutdown(8) -p |
| Linux, FreeBSD | -n meaning | Solnix -n skips the normal sync(2) before stopping. Linux -n (deprecated) makes shutdown kill processes itself instead of calling init(8). FreeBSD -n only works with -o and passes -n to halt(8) or reboot(8).Source: Solnix shutdown(1b) -n; Linux shutdown(8) -n; FreeBSD shutdown(8) -o, -n |
| OpenBSD, NetBSD | -n meaning | Solnix -n, OpenBSD -n and NetBSD -n all prevent the normal sync(2) before stopping. OpenBSD documents it as applying with -h, -p or -r.Source: Solnix shutdown(1b) -n; OpenBSD shutdown(8) -n; NetBSD shutdown(8) -n |
| all four | time argument formats | Solnix accepts now, +number (minutes) and hour:min in 24-hour notation, and only up to 23:59 today. Linux adds +hh:mm. FreeBSD allows date forms and unit suffixes. OpenBSD uses yymmddhhmm. NetBSD uses [[[[[cc]yy]mm]dd]hh]mm. Source: Solnix shutdown(1b) DESCRIPTION, NOTES; Linux shutdown(8); FreeBSD shutdown(8) time; OpenBSD shutdown(8) time; NetBSD shutdown(8) time |
| NetBSD | colon in time | Solnix takes hour:min with a colon. The NetBSD time format has no colon, and its page does not mention one. FreeBSD and OpenBSD accept a colon only as backward compatibility. Source: Solnix shutdown(1b) DESCRIPTION; NetBSD shutdown(8) time; FreeBSD shutdown(8) COMPATIBILITY; OpenBSD shutdown(8) STANDARDS |
| FreeBSD, OpenBSD, NetBSD | message from stdin | FreeBSD, OpenBSD and NetBSD read the warning message from standard input when given '-'. The Solnix synopsis has no '-', and its warning message must be on the command line. Source: Solnix shutdown(1b) SYNOPSIS; FreeBSD shutdown(8) '-'; OpenBSD shutdown(8) '-'; NetBSD shutdown(8) '-' |
| Linux, FreeBSD, OpenBSD | login blocking and cancelling | Linux, FreeBSD and OpenBSD create a nologin file before the shutdown (/etc/nologin on Linux and OpenBSD, /var/run/nologin on FreeBSD). The Solnix page mentions none. Linux cancels with -c. FreeBSD and OpenBSD cancel by killing the shutdown process. The Solnix page says nothing about cancelling.Source: Linux shutdown(8) -c, /etc/nologin; FreeBSD shutdown(8) /var/run/nologin; OpenBSD shutdown(8) /etc/nologin; Solnix shutdown(1b) DESCRIPTION |
| all four | options missing on Solnix | Solnix has none of these: Linux -a -c -q -Q -t and -H. FreeBSD -c -o -q. OpenBSD -d. NetBSD -b -d -D -v -x -z. A script using any of them fails on the Solnix /usr/ucb/shutdown.Source: Solnix shutdown(1b) SYNOPSIS; option lists in Linux, FreeBSD, OpenBSD and NetBSD shutdown(8) |
Everyday tasks
| Task | Solnix | Linux | FreeBSD | OpenBSD | NetBSD |
|---|---|---|---|---|---|
| reboot immediately | shutdown -r now | shutdown -r now | shutdown -r now | shutdown -r now | shutdown -r now |
| halt immediately | shutdown -h now | shutdown -h -H now | shutdown -h now | shutdown -h now | shutdown -h now |
| power off immediately | — | shutdown -h -P now | shutdown -p now (or poweroff) | shutdown -p now | shutdown -p now |
| cancel a scheduled shutdown | — | shutdown -c | kill the shutdown process | kill the shutdown process | — |
Standards
- POSIX: shutdown is not a POSIX.1-2024 utility.
- Solnix: The shutdown(1b) page in the bundle has no ATTRIBUTES or STANDARDS section.
- OpenBSD: The STANDARDS section only says that a colon between hours and minutes in the second time format is accepted for backward compatibility. It names no standard.
- FreeBSD: The COMPATIBILITY section says hh:mm is accepted as equivalent to hhmm. No standard is named.
- Linux: The Linux page (sysvinit) in the bundle names no standard.
- NetBSD: The NetBSD page in the bundle names no standard.
Writing portable scripts
- Use only
-rwith 'now' (shutdown-rnow) in portable scripts.-h,-k,-f,-nand the power-off flags differ across Solnix, Linux and the BSDs. - Always give a time argument, such as now. Linux says it is mandatory, and every synopsis in the bundle shows it.
- Select the power-off flag per system:
-Pon Linux,-pon the BSDs. The Solnix/usr/ucb/shutdownpage documents neither.
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.