0

特定のプロセスで使用されているすべての共有メモリ セグメントを検索したいと考えています。私は、shmctl() の呼び出しで使用できるように、shmid を理解することに特に関心があります。

Solaris では、/proc/$PID/map を読み取ってその情報 (フィールド pr_shmid) を把握します。そのファイルの内容は、sys/procfs の struct prmap_t によって定義されます。

AIX にも /proc/$PID/map ファイルがあります。struct prmap もありますが、残念ながら pr_shmid フィールドがありません。

AIX5.3+でこれを達成する方法はありますか?

4

2 に答える 2

1

特に AIX については知りませんが、このipcsコマンドは SysV IPC がサポートされている場所ではかなり標準的だと思うので、ipcs -mコマンドが適切な情報を提供することを期待しています。より良い方法が見つからない場合は、その出力を解析することもできます。

于 2010-01-23T01:19:42.823 に答える
0

svmon -P は、プロセス メモリ セグメントをタイプ別に一覧表示します。

-S を使用して、セグメントに関連付けられている PID を確認することもできます。-S を指定して、最初に ipcs -bmS を実行し、次に 0x なしの SID を取得して、

svmon -lS [SID]

これにより、添付された PID が返されます。

于 2010-03-20T23:30:48.720 に答える