我試着寫一些C代碼處理在Linux中, 剪切內存,我不知道何時使用系統調用shmdt
, 以及何時使用shmctl (segment_id, IPC_RMID, 0);
shmdt標記爲刪除,C,LINUX
我看着shmdt的手冊頁,並閱讀了這句話:「shm_nattch減一 如果變爲0,段被標記爲刪除, 段被刪除。」
手冊頁提到的標記是什麼?是shmctl (segment_id, IPC_RMID, 0);
? 和劑量這意味着如果有一個過程仍然連接,shmctl (segment_id, IPC_RMID, 0);
將不會分離段?
如果有人可以解釋每次打電話的用量,我將不勝感激。 謝謝
您是否考慮使用POSIX共享內存,請參閱[shm_overview(7)](http://man7.org/linux/man-pages/man7/shm_overview.7.html) –
這是用於學校作業,我可以不使用POSIX。 但謝謝你! –