2013-03-27 123 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一樣)。