1. 程式人生 > >linux中共享記憶體使用過程中奇怪的問題:shmctl刪除後其他程序不能再連線該共享記憶體

linux中共享記憶體使用過程中奇怪的問題:shmctl刪除後其他程序不能再連線該共享記憶體

我初始化完共享記憶體後,馬上使用 shmctl(shm_id, IPC_RMID, NULL)刪除共享,這樣其他程序都使用shmdt系統就自動刪除該共享記憶體了。誰知道這樣以來其他的程序怎麼也連線不上該共享記憶體。只好把shmctl去掉,其他程序馬上就可以連線上了。

===============================================

網上又一篇問題是這樣描述的:

        如果這個共享記憶體是你建立的,你還需要在合適的時候呼叫 shmctl,給這個共享記憶體做個刪除標記。這樣當所有程序都與這個共享記憶體分離之後,

這個共享記憶體才會真正被刪除。

http://blog.csdn.net/smfwuxiao/article/details/7207275