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/>.