Scroll to navigation

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' で表記する) で指定することができる。

オプション

最後の分離が行われた後、 shmkey で作成された共有メモリセグメントを削除する。
最後の分離が行われた後、 shmid で識別される共有メモリセグメントを削除する。
msgkey で作成されたメッセージキューを削除する。
msgid で識別されるメッセージキューを削除する。
semkey で作成されたセマフォを削除する。
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)

last change: 19 March 2002 ipcrm