ipcs(1) on Solnix vs Linux and the BSDs
On Solnix, ipcs is the illumos ipcs at /usr/bin/ipcs, with an /usr/xpg4/bin/ipcs variant. It reports System V IPC like the Linux and BSD tools, but adds zone and project options (-z, -Z, -J) and has no Linux -l/-u/-i id or BSD -M/-Q/-S/-T system-information flags.
The manual pages
- Solnix: ipcs(1) from
pkgs.solnix.illumos-world-man· illumos.org - Linux: ipcs(1) util-linux-2.42.3
- FreeBSD: ipcs(1) 15.1-RELEASE
- OpenBSD: ipcs(1) 8.0
- NetBSD: ipcs(1) 11.0
- Standard: POSIX.1-2024 (IEEE Std 1003.1-2024),
ipcs
What Solnix runs
A default Solnix system runs the illumos ipcs at /usr/bin/ipcs. /usr/xpg4/bin/ipcs is also shipped. The bundle shows the same page for both and does not describe any difference between them.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| Linux | -a meaning | On Solnix, -a is shorthand for -b -c -o -p -t, and with no -m/-q/-s it applies to all three facility types. On Linux, -a means all three resources and is the default; the Linux page says it does not support the POSIX -a, -b and -o options.Source: Solnix ipcs(1) -a; Linux ipcs(1) -a, --all, CONFORMING TO |
| Linux | -b and -o | Solnix supports the POSIX -b (maximum sizes) and -o (outstanding usage) as print options. The Linux page says it does not support them. On Linux, -b only changes -l output to bytes.Source: Solnix ipcs(1) -b, -o; Linux ipcs(1) -b, --bytes, CONFORMING TO |
| Linux | -i meaning | Solnix -i prints the number of ISM attaches to shared memory segments. Linux -i id shows full details for one resource element and must be combined with -m, -q or -s. A Linux script using -i id fails or misbehaves on Solnix.Source: Solnix ipcs(1) -i, ISMATTCH; Linux ipcs(1) -i, --id |
| Linux | -l, -u and long options | Solnix has no -l (limits) or -u (summary), and the Solnix page lists no GNU-style long options. Linux provides -l/--limits, -u/--summary, --human and others, and says portable applications shall not use -l and -u.Source: Solnix ipcs(1) SYNOPSIS; Linux ipcs(1) -l, -u, --human, CONFORMING TO |
| Linux | output formats: last one wins | On Linux, of -c, -l, -p, -t and -u only the last one specified takes effect. Solnix print options (-b, -c, -o, -p, -t and so on) are combinable, and -a and -A are shorthands for several of them.Source: Linux ipcs(1) Output formats; Solnix ipcs(1) -a, -A |
| FreeBSD, OpenBSD, NetBSD | system information flags -M -Q -S -T | FreeBSD, OpenBSD and NetBSD have -M, -Q, -S and -T to show system-wide information about shared memory, message queues and semaphores. Solnix has none of these. Its SYNOPSIS lists only -aAbciJmopqstZ, -D and -z.Source: FreeBSD/OpenBSD/NetBSD ipcs(1) -M, -Q, -S, -T; Solnix ipcs(1) SYNOPSIS |
| FreeBSD, OpenBSD | -C and -N kernel sources | FreeBSD and OpenBSD take -C core and -N system to read from a core file and name list. FreeBSD also has -y for kvm(3) instead of sysctl(3). The Solnix page documents none of these.Source: FreeBSD ipcs(1) -C, -N, -y; OpenBSD ipcs(1) -C, -N; Solnix ipcs(1) SYNOPSIS |
| FreeBSD | -u user filter | FreeBSD -u user shows only IPC objects owned by that user. Solnix has no user filter. Its -z limits output by zone, not by user.Source: FreeBSD ipcs(1) -u; Solnix ipcs(1) -z |
| all four | zones and projects | Solnix -z zone selects a zone by name or numeric id, -Z lists all zones from the global zone, and -J prints the creator's project. None of the counterpart pages documents zone or project options.Source: Solnix ipcs(1) -z, -Z, -J; Linux/FreeBSD/OpenBSD/NetBSD ipcs(1) OPTIONS |
| all four | -D message dump | Solnix -D mtype shows the contents of messages of the given type, in hexadecimal and ASCII, from queues the user can read. No counterpart page documents an equivalent option.Source: Solnix ipcs(1) -D; Linux/FreeBSD/OpenBSD/NetBSD ipcs(1) OPTIONS |
| FreeBSD, OpenBSD, NetBSD | column documentation | The FreeBSD, OpenBSD and NetBSD pages say they do not explain the printed columns. The Solnix page documents the column headings and the 11-character MODE field, so use it for reference. Source: FreeBSD/OpenBSD/NetBSD ipcs(1) BUGS; Solnix ipcs(1) column headings, MODE |
| Linux | data source | Linux ipcs parses /proc/sysvipc, and falls back to IPC_STAT calls when /proc is unavailable. The Solnix page does not say how it gathers its data.Source: Linux ipcs(1) NOTES; Solnix ipcs(1) DESCRIPTION |
Standards
- POSIX: ipcs is a POSIX.1-2024 utility.
- Linux: The Linux ipcs utility is not fully compatible to the POSIX ipcs utility. It does not support the POSIX
-a,-band-ooptions, but supports the-land-uoptions not defined by POSIX. - OpenBSD: The ipcs utility is compliant with the X/Open System Interfaces option of the IEEE Std 1003.1-2008 (“POSIX.1”) specification. The flags [
-CMNQST] are extensions to that specification.
Writing portable scripts
- Stick to
-m,-q,-sand-a/-b/-c/-o/-p/-t for portability, and avoid-a,-band-oon Linux, where they are not POSIX-compatible. - Do not use
-i,-l,-u,-M,-Q,-S,-T,-C,-N,-y,-z,-Zor-Jin portable scripts. Each exists on only some of the systems.
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.