ipcrm(1) on Solnix vs Linux and the BSDs

On Solnix, ipcrm is the illumos /usr/bin/ipcrm. It removes System V message queues, semaphore sets and shared memory by ID (-q -s -m) or key (-Q -S -M), and adds -z zone. It has no remove-all option: Linux has -a, FreeBSD uses an ID or key of -1, and NetBSD uses the word all.

What Solnix runs

A default Solnix system runs the illumos ipcrm at /usr/bin/ipcrm. No other variants are shipped. Use ipcs(1) to find identifiers and keys.

Differences

Compared withTopicWhat differs
all four-z zoneSolnix ipcrm -z zone makes the keys refer to facilities in another zone. It is only useful from the global zone. The Linux, FreeBSD, OpenBSD and NetBSD pages have no zone option.
Source: Solnix ipcrm(1) -z; Linux, FreeBSD, OpenBSD, NetBSD ipcrm(1) SYNOPSIS
Linuxremove all objectsLinux ipcrm -a (--all) removes all resources, optionally limited to given types. The Solnix page documents no remove-all option. You must name each ID or key, found with ipcs.
Source: Linux ipcrm(1) -a, --all; Solnix ipcrm(1) OPTIONS
FreeBSDwiping with -1On FreeBSD, an ID or key of -1 removes all objects of that kind, and -W tries to wipe all specified objects. The Solnix page documents neither.
Source: FreeBSD ipcrm(1) -W, DESCRIPTION (last paragraph); Solnix ipcrm(1) OPTIONS
NetBSDall keywordOn NetBSD, an id or key argument of all removes all entries of that type. The Solnix page documents no such keyword.
Source: NetBSD ipcrm(1) DESCRIPTION ("all"); Solnix ipcrm(1) OPTIONS
Linuxlong options and verboseLinux accepts long options such as --shmem-id and --queue-key, and -v for verbose output. Solnix has only the single-letter options -m -q -s -M -Q -S -z, with no -v.
Source: Linux ipcrm(1) OPTIONS (-v, --verbose and long forms); Solnix ipcrm(1) SYNOPSIS
LinuxPOSIX IPC and keyword syntaxLinux ipcrm also removes POSIX shared memory, message queues and semaphores by name (--posix-shmem, --posix-mqueue, --posix-semaphore). It accepts the old form ipcrm shm|msg|sem ID. The Solnix page documents only System V objects and the option form.
Source: Linux ipcrm(1) SYNOPSIS, OPTIONS, NOTES; Solnix ipcrm(1) DESCRIPTION
FreeBSD-y kernel memoryFreeBSD -y reads kernel data through kvm(3) instead of sysctl(3), which needs read access to /dev/kmem on a running system. The Solnix page has no such option.
Source: FreeBSD ipcrm(1) -y; Solnix ipcrm(1) SYNOPSIS
Linuxnumber basesLinux says keys and IDs can be given in decimal, hexadecimal (0x) or octal (leading 0). The Solnix page does not say which bases it accepts.
Source: Linux ipcrm(1) DESCRIPTION; Solnix ipcrm(1) OPTIONS
all fourexit statusOnly OpenBSD documents an exit status: 0 on success, >0 on error. The Solnix, Linux, FreeBSD and NetBSD pages have no EXIT STATUS section.
Source: OpenBSD ipcrm(1) EXIT STATUS; Solnix, Linux, FreeBSD, NetBSD ipcrm(1)

Standards

  • POSIX: ipcrm is a POSIX.1-2024 utility.
  • Solnix: Interface Stability: Standard (ATTRIBUTES). SEE ALSO lists standards(7).
  • OpenBSD: The ipcrm utility is compliant with the X/Open System Interfaces option of the IEEE Std 1003.1-2008 (“POSIX.1”) specification.

Writing portable scripts

  • Use only -m -q -s -M -Q -S with explicit IDs or keys. Take the values from ipcs output, and do not use -a, -W, -1 or all, which exist on only one system each.
  • Do not pass -z, -v or -y in portable scripts: -z is Solnix only, -v is Linux and FreeBSD only, and -y is FreeBSD only.

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.