【发布时间】:2013-03-17 15:35:49
【问题描述】:
我使用适当的标志打开共享内存和信号量:
sem = sem_open("/some_name", O_CREAT | O_EXCL, S_IRWXU | S_IRWXG | S_IRWXO, 1);
shm = shm_open("/other_name", O_RDWR | O_CREAT | O_EXCL, S_IRWXU | S_IRWXG | S_IRWXO);
调用没有失败(我检查了它们),确实是由fork/execs 其他进程创建它们的一个进程和其他进程共享内存和信号量并且有适当的同步。
但是,当我使用ipcs 命令时,我看不到共享内存和信号量。这是为什么?如果它们没有与ipcs 一起出现,我在哪里可以查看它们?
在我的ipcs 输出中,信号量数组列表中没有任何条目,共享内存中的条目与Skype、firefox 和plugin-container(firefox)相关。我检查了他们
grep shmid /proc/*/maps # observe pid
readlink /proc/pid/exe
【问题讨论】:
标签: c linux shared-memory ipcs