Вывод списка всех сегментов разделяемой памяти, используемых процессом в AIX5.3 + - PullRequest
0 голосов
/ 22 января 2010

Я хотел бы найти все сегменты разделяемой памяти, используемые данным процессом. Я особенно заинтересован в выяснении shmid, чтобы я мог использовать его в вызовах shmctl ().

В Solaris я бы просто прочитал / proc / $ PID / map, чтобы выяснить эту информацию (поле pr_shmid). Содержимое этого файла определяется struct prmap_t в sys / procfs.

AIX также имеет файл / proc / $ PID / map. Существует также структура prmap, но, к сожалению, в ней отсутствует поле pr_shmid.

Есть идеи, как мне этого добиться на AIX5.3 +?

Ответы [ 2 ]

1 голос
/ 23 января 2010

Я не знаю, в частности, об AIX, но я думаю, что команда ipcs довольно стандартна, когда поддерживается SysV IPC, поэтому я ожидаю, что команда ipcs -m выдаст соответствующую информацию; парсинг вывода этого может быть вариантом, если вы не можете найти лучший способ.

0 голосов
/ 21 марта 2010

svmon -P выведет список сегментов памяти процесса по типу.

Вы также можете использовать -S, чтобы увидеть, какие PID привязаны к сегменту. с -S сначала запустите ipcs -bmS, затем возьмите SID без 0x и используйте его с

svmon -lS [SID]

Это вернет прикрепленные PID.

...