ipcs コマンド
目的
プロセス間通信機能の状況を報告します。
構文
ipcs [ -m] [ -q] [ -s] [ -S] [ -P] [ -1] [ -a | -b -c -o -p -r -t] [ -T] [ -C CoreFile] [ -N カーネル ] [ -X @ ] [ [ WparName ]]
説明
ipcs コマンドは、アクティブなプロセス間通信機能についての情報を標準出力へ書き出します。 フラグを指定しない場合、 ipcs コマンドは現在アクティブになっているメッセージ・キュー、共有メモリー・セグメント、セマフォー、リモート・キュー、ローカル・キュー・ヘッダーに関する情報を簡略形式で書き出します。
ipcs コマンドの列見出しと列の意味を、以下に示します。 括弧内の文字は、対応する見出しを表示するためのフラグを表します。 指定子 all は、見出しが常に表示されることを表します。 これらのフラグは、各機能に関してどのような情報を提供するかを決定するだけです。 どの機能をリストするかについては、決定しません。
| 項目 | 説明 |
|---|---|
| T | (all) 機能のタイプ。 次の 3 つの機能タイプがあります。
|
| id | (all) 機能エントリーの ID。 |
| キー | (all) 機能エントリーを作成するために、
msgget サブルーチン、semget サブルーチン、または shmget サブルーチンのパラメーターとして使用されるキー。注: 共有メモリー・セグメントが除去されると、そのセグメントのキーは、セグメントに付加されたすべてのプロセスが切り離されるまで IPC_PRIVATE に変更されます。 |
| モード | (all) 機能アクセス・モードおよびフラグ。 モードは 11 個の文字で構成され、次のように解釈されます。 最初の 2 つの文字として次のものがあります。
次の 9 文字は、それぞれが 3 ビットずつの 3 セットとして解釈されます。 最初のセットは、所有者の許可を参照します。 2 番目のセットは、機能エントリーのユーザー・グループに属する他のユーザーの許可を参照します。 最後のセットは、その他のすべてのユーザーの許可を参照します。 各セット内で、最初の文字は読み取りの許可を、2 番目の文字は機能エントリーの書き出しまたは変更の許可を示します。現在は、最後の文字は使用されません。 許可は次のように示されます。
|
| owner | (all) 機能エントリーのオーナーのログイン名 |
| グループ | (all) 機能エントリーを所有するグループの名前。 |
| CREATOR | (a、c) 機能エントリーの作成者のログイン名。 |
| CGROUP | (a、c) 機能エントリーの作成者のグループ名。注: OWNER、GROUP、CREATOR、 および CGROUP に対しては、 ログイン名の代わりにユーザー ID とグループ ID が表示されます。 |
| CBytes | (a、o) 関連するメッセージ・キューで現在未処理になっているメッセージのバイト数。 |
| QNUM | (a、o) 関連するメッセージ・キューで現在未処理になっているメッセージの数。 |
| キュー・バイト | (a、b) 関連するメッセージ・キューで未処理になっているメッセージに使用できる最大バイト数 |
| LSPID (L) | (a、p) 関連するキューにメッセージを送った最後のプロセスの ID。 最後のメッセージがキューを保持するノード以外のノードのプロセスから送られた場合、LSPID は送信元プロセスの PID ではなく、 メッセージを実際にキューに入れたカーネル・プロセスの PID です。 |
| LRPID (RPID) | (a、p) 関連するキューからメッセージを受け取った最後のプロセスの ID。 最後のメッセージをキューを保持するノード以外のノードのプロセスから受け取った場合、LRPID は受信先プロセスの PID ではなく、 実際にキューにあるメッセージを受け取ったカーネル・プロセスの PID です。 |
| stime | (a、t) 最後のメッセージが、関連するキューに送られたときの時刻。 リモート・キューの場合、これはサーバーの時刻です。 ローカル・クロックとサーバー・クロック間の時間帯の違いに対する補正は実行されません。 |
| RTIME | (a、t) 最後のメッセージを関連するキューから受け取ったときの時刻。 リモート・キューの場合、これはサーバーの時刻です。 ローカル・クロックとサーバー・クロック間の時間帯の違いに対する補正は実行されません。 |
| CTIME | (a、t) 関連するエントリーが作成または変更された時刻。 リモート・キューの場合、これはサーバーの時刻です。 ローカル・クロックとサーバー・クロック間の時間帯の違いに対する補正は実行されません。 |
| ナッチ | (a、o) 関連する共有メモリー・セグメントに接続されたプロセスの数。 |
| セグスズ | (a、b) 関連する共有メモリー・セグメントのサイズ (バイト単位)。 |
| cpid | (a、p) 共有メモリー・エントリーの作成者のプロセス ID。 |
| lpid | (a、p) 共有メモリー・セグメントを接続するか切り離すための最後のプロセスのプロセス ID。 |
| ATIME | (a、t) 関連する共有メモリー・セグメントに対して最後の接続が完了した時刻。 |
| dtime | (a、t) 関連する共有メモリー・セグメントに対して最後の切り離しが完了した時刻。 |
| NSEMS (N) | (a、b) セマフォー・エントリーに関連するセット内のセマフォーの数。 |
| OTIme | (a、t) セマフォー・エントリーに関連するセットに対し最後のセマフォー操作が完了した時刻。 |
| SID | (S) 共有メモリー・セグメント ID。 SIDは、 スモン -S (S) コマンドへの入力として使用できます。 |
このコマンドは、マルチバイト文字セットをサポートします。
フラグ
| 項目 | 説明 |
|---|---|
| -a | -b、-c、-o、-p、-t の各フラグを使用します。 |
| -b | メッセージ・キューの場合のキュー上のメッセージの最大バイト数、共有メモリーのセグメントのサイズ、各セマフォー・セット内のセマフォーの数を書き出します。 |
| -c | 機能を作成したユーザーのログイン名およびグループ名を書き出します。 |
| -Cコアファイル | /dev/mem ファイルの代わりに、 CoreFile パラメーターで指定されたファイルを使用します。 CoreFile パラメーターは、Ctrl- (左) Alt-Pad1 キー・シーケンスによって作成されたメモリー・イメージ・ファイルです。 |
| -1 | このフラグを -S フラグと共に使用すると、アンラップされた SID のリストを書き込みます。 |
| -m | アクティブな共有メモリー・セグメントに関する情報を書き出します。 |
| -N (N)カーネル | 指定された Kernel を使用します (デフォルトは /usr/lib/boot/unix ファイル)。 |
| -o | 次の使用状況情報を書き出します。
|
| -p | 次のプロセス番号情報を書き出します。
|
| -P | 共有メモリー ID に関連した SID (セグメント ID) のリストを、 セグメントにピンされたバイト数およびセグメントがラージ・ページ使用可能か否かの指示 に従って書き出します。 セグメントがラージ・ページ使用可能である場合には 'Y' と表示され、そうでない場合には '-' と 表示されます。 |
| -q | アクティブなメッセージ・キューに関する情報を書き出します。 |
| -r | ポータブル・オペレーティング・システム・インターフェース (POSIX) のリアルタイム・プロセス間通信オブジェクトに関する情報を書き込みます。 |
| -s | アクティブなセマフォー・セットに関する情報を書き出します。 |
| -S | 共有メモリー ID に接続されている SID のリストを書き出します。 |
| -t | 次の時刻情報を書き出します。
|
| -T | -t フラグの出力を日付を付けて書き出します。 |
| -X | 最初の 8 文字に切り捨てることをせずに、それぞれのユーザー名、所有者のグループ名、 作成者、所有者グループ、作成者グループの使用可能なすべての文字を印刷します。 |
| -@ [ WparName ] | ワークロード・パーティションのプロセス間通信機能の状況を報告します。 WparName を指定すると、その特定の ワークロード・パーティションのプロセス間通信機能の状況が表示されます。 WparName が指定されていない場合、すべてのアクティブな ワークロード・パーティションについて、プロセス間通信機能の状況が表示されます。 オブジェクトに関連付けられた ワークロード・パーティション の名前が表示されます。 WparName として Global を指定すると、そのオペレーティング・システム環境のみの IPC オブジェクト情報が表示されます。ただし、その環境からホストされているワークロード区画の IPC 情報は表示されません。 |
- -C フラグまたは -N フラグのいずれかを指定した場合、実効 UID/GID と実 UID/GID は ipcs コマンドを呼び出したユーザーの実 UID/GID に設定されます。
- ipcs の実行中に値が変更される可能性もあります。ipcs が与える情報の精度が保証されるのは、それが検索された時点のみです。
セキュリティー
例
入力からの出力例ipcsフラグなし:
IPC status from /dev/mem as of Mon Aug 14 15:03:46 1989
T ID KEY MODE OWNER GROUP
Message Queues:
q 0 0x00010381 -Rrw-rw-rw- root system
q 65537 0x00010307 -Rrw-rw-rw- root system
q 65538 0x00010311 -Rrw-rw-rw- root system
q 65539 0x0001032f -Rrw-rw-rw- root system
q 65540 0x0001031b -Rrw-rw-rw- root system
q 65541 0x00010339--rw-rw-rw- root system
q 6 0x0002fe03 -Rrw-rw-rw- root system
Shared Memory:
m 65537 0x00000000 DCrw------- root system
m 720898 0x00010300 -Crw-rw-rw- root system
m 65539 0x00000000 DCrw------- root system
Semaphores:
s 131072 0x4d02086a --ra-ra---- root system
s 65537 0x00000000 --ra------- root system
s 1310722 0x000133d0 --ra------- 7003 30720ファイル
| 項目 | 説明 |
|---|---|
| /usr/lib/boot/unix | システム・カーネル・イメージを指定します。 |
| /dev/mem | メモリーを指定します。 |
| /etc/passwd | ユーザー名を指定します。 |
| /etc/group | グループ名を指定します。 |
| /usr/include/sys/ipc.h | ヘッダー・ファイルが入っています。 |