kill(1) on Solnix vs Linux and the BSDs
Solnix /usr/bin/kill is the illumos kill. It takes only the POSIX forms: -s signal_name, -signal_name, -signal_number and -l. The Linux util-linux kill adds -p, -a, -q, -L, -d, --timeout and lookup by process name, none of which the Solnix page documents.
The manual pages
- Solnix: kill(1) from
pkgs.solnix.illumos-world-man· illumos.org - Linux: kill(1) util-linux-2.42.3
- FreeBSD: kill(1) 15.1-RELEASE
- OpenBSD: kill(1) 8.0
- NetBSD: kill(1) 11.0
- Standard: POSIX.1-2024 (IEEE Std 1003.1-2024),
kill
What Solnix runs
A default Solnix system runs the illumos kill at /usr/bin/kill. /usr/xpg4/bin/kill is also shipped; the bundle does not describe how it differs. The page says shells have built-in versions of kill (ATTRIBUTES lists csh, ksh, sh and ksh93), so in a script plain kill may not run /usr/bin/kill.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| Linux | Linux-only options | Solnix kill documents only -s, -l, -signal_name and -signal_number. Linux kill also has -L/--table, -a, -p, -q/--queue, -r, -d, --verbose and --timeout, which do not exist on Solnix.Source: Solnix kill(1) SYNOPSIS, OPTIONS; Linux kill(1) SYNOPSIS, OPTIONS |
| Linux | process names as operands | Linux kill accepts command names, and pid:pidfd_inode, as operands. The page calls name lookup a local extension. Solnix kill takes only a decimal pid or a job control job ID. Its page says to find process numbers with ps(1). Source: Linux kill(1) SYNOPSIS, DESCRIPTION; Solnix kill(1) OPERANDS |
| Linux | -s argument | On Solnix, -s takes a symbolic signal name without the SIG prefix, in any case, or the name 0. Linux -s takes a name or a number. kill -s 9 is documented on Linux only. On Solnix use kill -9.Source: Solnix kill(1) -s; Linux kill(1) -s |
| Linux | exit status | Solnix exits 0 only if every pid operand matched a process and at least one matching process received the signal. Otherwise it exits >0. Linux kill exits 64 for partial success when several processes are given. Source: Solnix kill(1) EXIT STATUS; Linux kill(1) EXIT STATUS |
| FreeBSD, OpenBSD, NetBSD | pid -1 | The BSD pages document pid -1: the superuser signals all processes, other users signal all their own processes. The Solnix page refers to kill(2) for negative pids and only spells out 0 (the process group).Source: FreeBSD kill(1) special PIDs; OpenBSD kill(1) special PIDs; NetBSD kill(1) special pids; Solnix kill(1) OPERANDS |
| FreeBSD, OpenBSD, NetBSD | negative pid and -- | Solnix says a negative first pid should be preceded by --. NetBSD says its own kill does not require this, but it is required when no signal is given. FreeBSD and OpenBSD do not mention --. Source: Solnix kill(1) OPERANDS; NetBSD kill(1) DESCRIPTION; FreeBSD kill(1); OpenBSD kill(1) |
| Linux, NetBSD | -l output format | NetBSD /bin/kill -l uses the POSIX format only when POSIXLY_CORRECT is set. Linux kill -l prints one signal per line when output is not a terminal. Solnix kill -l writes all supported signal names, and the page gives no format switch.Source: NetBSD kill(1) -l; Linux kill(1) -l; Solnix kill(1) -l |
Standards
- POSIX: kill is a POSIX.1-2024 utility.
- Solnix:
/usr/bin/kill, csh, ksh, sh: CSI Enabled; Interface Stability Committed; Standard: see standards(7). - FreeBSD: The kill utility is expected to be IEEE Std 1003.2 (“POSIX.2”) compatible.
- OpenBSD: The kill utility is compliant with the IEEE Std 1003.1-2008 (“POSIX.1”) specification. The
-signal_nameand-signal_numbersyntax is marked by IEEE Std 1003.1-2008 (“POSIX.1”) as being an X/Open System Interfaces option. - NetBSD: The kill utility is expected to be IEEE Std 1003.2 (“POSIX.2”) compatible.
Writing portable scripts
- Use kill
-sNAME pid with the signal name and no SIG prefix (for example kill-sHUP 1234). Every page here documents that form. - Put -- before a negative pid (a process group), as Solnix and NetBSD advise.
- Do not rely on Linux-only options (
-p,--timeout, process names as operands). Look up the pid with ps(1) first.
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.