名前

ipcs - IPC 機能の情報を表示する

書式

ipcs [options]

説明

ipcs は、 System V のプロセス間通信機能の情報を表示する。 デフォルトで表示される情報は、 以下の 3 つのリソースである。 共有メモリセグメント、 メッセージキュー、 セマフォー配列。

オプション

-i, --id id

id によって識別される、 1 つのリソースに関する詳細情報を表示する。 このオプションには、 -m-q-s といった、 3 つのリソースオプションのいずれか 1 つと組み合わせて用いる必要がある。

-h, --help

ヘルプを表示して終了する。

-V, --version

バージョンを表示して終了する。

リソースオプション

-m, --shmems

アクティブな共有メモリセグメントについての情報を書き出す。

-q, --queues

アクティブなメッセージキューについての情報を書き出す。

-s, --semaphores

アクティブなセマフォーセットについての情報を書き出す。

-a, --all

3 つのリソースすべてについての情報を書き出す (デフォルト)。

出力書式

3 つのオプションの中で、 有効になるのは 1 つだけ、 つまり最後に指定したものである。

-c, --creator

作成者と所有者を表示する。

-l, --limits

リソースの制限値を表示する。

-p, --pid

生成元プロセスと最終操作プロセスの PID を表示する。

-t, --time

以下に示す時間情報を書き出す。 ファシリティー (facility) すべてに対しての、 アクセス権限変更を行った最終の制御操作時間。メッセージキューに対しての msgsnd(2) と msgrcv(2) による最終操作時間。 共有メモリに対しての shmat(2) と shmdt(2) による最終操作時間。 セマフォーに対しての semop(2) による最終操作時間。

-u, --summary

ステータスの概要を表示する。

表現方法

これは -l (--limits) オプションにおいてのみ用いることができる。

-b, --bytes

サイズ出力にあたって、 通常の読みやすい形式ではなく、 バイト表記を行う。

デフォルトでサイズを表現するのはバイト単位であり、 単位のプリフィックスは 2^10 (1024) の累乗で表現される。 記号を省略する場合は、 読みやすさを考慮して、 文字を切り詰めて最初の 1 文字だけが表示される。 たとえば "1 KiB" と "1 MiB" はそれぞれ "1 K"、"1 M" と表示される。 こうして "iB" を取り除き、 省略されていることを示す。

--human

読みやすい書式でサイズを表示する。

準拠

Linux の ipcs ユーティリティーは、 POSIX の ipcs ユーティリティーと完全な互換性はありません。 Linux バージョンでは、 POSIX の -a-b-o の各オプションはサポートしていない。 一方で POSIX には定義されていない -l-u というオプションをサポートしている。 移植性を考慮したアプリケーションであれば、 -a-b-o-l-u の各オプションは用いないこと。

注意

ipcs の現実装は、 /proc/sysvipc 内のファイルを解析することで、 利用可能な IPC リソースの情報を取得している。 util-linux v2.23 以前であれば、 これとは別の仕組みを用いていた。 つまり、 msgctl(2)、 semctl(2)、 shmctl(2) の IPC_STAT コマンドを用いていた。 その仕組みは、 /proc が利用不能である場合に備えて、 util-linux 版においても、 後に用いられている。 IPC_STAT を用いた仕組みには制約があり、 ユーザーが読み込み権限を有している IPC リソースしか、 その情報取得に用いることができない。

作者

関連項目

ipcmk(1), ipcrm(1), msgrcv(2), msgsnd(2), semget(2), semop(2), shmat(2), shmdt(2), shmget(2), sysvipc(7)

バグ報告

バグ報告は、 以下にある issue トラッカーを利用すること。 <https://github.com/util-linux/util-linux/issues>.

入手方法

ipcs コマンドは util-linux パッケージの一部であり、 以下からダウンロードできる。 Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.