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.

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 withTopicWhat differs
Linux-a meaningOn 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 -oSolnix 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 meaningSolnix -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 optionsSolnix 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
Linuxoutput formats: last one winsOn 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, NetBSDsystem information flags -M -Q -S -TFreeBSD, 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 sourcesFreeBSD 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 filterFreeBSD -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 fourzones and projectsSolnix -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 dumpSolnix -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, NetBSDcolumn documentationThe 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
Linuxdata sourceLinux 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, -b and -o options, but supports the -l and -u options 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, -s and -a/-b/-c/-o/-p/-t for portability, and avoid -a, -b and -o on Linux, where they are not POSIX-compatible.
  • Do not use -i, -l, -u, -M, -Q, -S, -T, -C, -N, -y, -z, -Z or -J in 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.