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.
The manual pages
- Solnix: ipcrm(1) from
pkgs.solnix.illumos-world-man· illumos.org - Linux: ipcrm(1) util-linux-2.42.3
- FreeBSD: ipcrm(1) 15.1-RELEASE
- OpenBSD: ipcrm(1) 8.0
- NetBSD: ipcrm(1) 11.0
- Standard: POSIX.1-2024 (IEEE Std 1003.1-2024),
ipcrm
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 with | Topic | What differs |
|---|---|---|
| all four | -z zone | Solnix 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 |
| Linux | remove all objects | Linux 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 |
| FreeBSD | wiping with -1 | On 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 |
| NetBSD | all keyword | On 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 |
| Linux | long options and verbose | Linux 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 |
| Linux | POSIX IPC and keyword syntax | Linux 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 memory | FreeBSD -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 |
| Linux | number bases | Linux 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 four | exit status | Only 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-Swith explicit IDs or keys. Take the values from ipcs output, and do not use-a,-W,-1or all, which exist on only one system each. - Do not pass
-z,-vor-yin portable scripts:-zis Solnix only,-vis Linux and FreeBSD only, and-yis 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.