2013-03-27 38 views
3

我打开共享内存和信号灯使用合适的标志:IPCS不显示我的共享内存和信号灯

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/exec其他进程创建它们,而其他进程共享内存和信号量,并且有适当的同步。

但是,当我使用ipcs命令时,我看不到共享内存和信号量。这是为什么?如果他们没有出现ipcs,我可以在哪里检查他们?


在我ipcs输出我没有在信标阵列列表中的任何条目,并在共享内存的那些涉及到的Skype,Firefox和插件容器(火狐)。我检查了他们与

grep shmid /proc/*/maps  # observe pid 
readlink /proc/pid/exe 

回答

2

一个解决方案,我只是发现了共享内存和共享信号灯下面列出:

/dev/shm 

的文件有对知道共享有对象,也许到unlink有用他们,但他们不提供任何有用的信息(如ipcs一样)。