IPCRM(8) |
Linux Programmer's Manual |
IPCRM(8) |
名前
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 の実装に存在する機能、つまり (識別子だけでなく) キーを指定してリソースを削除する機能と、同様なコマンドラインの構文が追加された。後方互換のため、以前の構文もサポートされている。
関連項目
ipcs(8),
msgctl(2),
msgget(2),
semctl(2),
semget(2),
shmctl(2),
shmdt(2),
shmget(2),
ftok(3)