在System V共享内存(shmget()
)中,可以使用shmctl(... IPC_STAT ...)
并阅读结果字段shm_nattch
来查找某个细分受众群的附加用户数数据结构。
使用POSIX共享内存(shm_open()
),有没有办法做类似的事情,或者至少找出是否有人附加?
答案 0 :(得分:1)
至少有一种方法,有点麻烦,可能不太便携。您可以扫描/proc
文件系统,查找已打开此SHM对象的进程。在readlink
上使用"/proc/<self-PID>/fd/<shm-FD>"
获取对象路径,然后扫描“/proc/[0-9]+/fd/*
符号链接,比较它们指向的文件名,或者更好的是,{{1}返回的设备和inode编号或者您可以简单地将此任务委派给stat
实用程序并解析其输出。