ipcrm - システム管理コマンドの説明 - Linux コマンド集 一覧表
名前
ipcrm - メッセージキュー・セマフォ集合・共有メモリ ID を削除する
書式
ipcrm
[
-M
key
|
-m
id
|
-Q
key
|
-q
id
|
-S
key
|
-s
id
] ...
以前の使用法
ipcrm
[
shm
|
msg
|
sem
]
id
...
説明
ipcrm
は System V プロセス間通信 (interprocess communication, IPC) オブジェクトと、
それに関連するデータ構造をシステムから削除する。
これらのオブジェクトを削除するためには、スーパーユーザーであるか、
オブジェクトの作成者または所有者でなければならない。
System V IPC オブジェクトには、
共有メモリ・メッセージキュー・セマフォの 3 つがある。
メッセージキューオブジェクトとセマフォオブジェクトの削除は、
(他のプロセスがそのオブジェクトの IPC 識別子を
持っていたとしても) 即座に行われる。
共有メモリオブジェクトが削除されるのは、
現在付加 (attach) されている全てのプロセスが
(
shmdt
(2)で) 仮想アドレス空間からオブジェクトを分離 (detach) してからである。
2 つの書式がサポートされている。
昔の Linux で使われていた伝統的な書式では、
削除するオブジェクトの種類を表す 3 文字のキーワードの後に、
その種類のオブジェクトの IPC 識別子を 1 つ以上指定する。
SUS 互換の書式では、1 つのコマンド行で
3 種類のオブジェクトすべてをそれぞれ 0 個以上指定することができ、
オブジェクトの指定はキーまたは識別子 (後述) で行う。
キーと識別子は 10 進数、16 進数 (最初を '0X' または '0x' で表記する)、
8 進数 (最初を '0' で表記する) で指定することができる。
オプション
- -M shmkey
- 最後の分離が行われた後、 shmkey で作成された共有メモリセグメントを削除する。
- -m shmid
- 最後の分離が行われた後、 shmid で識別される共有メモリセグメントを削除する。
- -Q msgkey
- msgkey で作成されたメッセージキューを削除する。
- -q msgid
- msgid で識別されるメッセージキューを削除する。
- -S semkey
- semkey で作成されたセマフォを削除する。
- -s semid
-
semid
で識別されるセマフォを削除する。
削除の詳細は msgctl (2), shmctl (2), semctl (2)で説明されている。 識別子とキーは ipcs (8)を使えば分かる。
注意
Linux における最初の実装では、 ipcrm は「書式 」にあるような昔の構文を使っていた。 他の *nix における ipcrm の実装に存在する機能、 つまり (識別子だけでなく) キーを指定してリソースを削除する機能と、 同様なコマンドラインの構文が追加された。 後方互換のため、以前の構文もサポートされている。