一、查詢IPC的命令
顯示:
ipcs -a 顯示所有共享內核對象
ipcs -m 顯示共享內存 m = memory
ipcs -q 消息隊列 q = queue
ipcs -s 顯示信號量 s = semphore刪除:
ipcrm -m ID 刪除共享內存
ipcrm -q ID 刪除共享隊列
ipcrm -s ID 刪除信號量
二、標識符和鍵
每個XSI IPC結構都有兩個東西定位:外部到內核要用key,內核中使用ID標識。
key的生成:
- 使用宏IPC PRIVATE 做key,但這種方式無法實現進程間的通信(私有),極少使用。
- 把所有的key定義在一個頭文件中,用宏定義。
- 使用ftok()函數生成key,參數:真實存在的路徑和項目編號(0 - 255)。
ID的生成:
- IPC結構在內核中都用ID做唯一標識,創建/獲取ID都有對應的函數。
- IPC結構都有一個特殊的操作函數,提供查詢、修改和刪除功能。
?
三、IPC結構:共享內存
每個進程內存獨立的,無法直接訪問。共享內存就是內核管理一段進程(物理內存),這段物理內存允許每個進程進行映射。
編程步驟:
- ?