|
IPC_EXCL 如 果 |
key 已 經 存 在 則
失 敗 .
求 必 須
等 待 , 產 生 錯 誤 .
IPC_PRIVATE 私 有 key.
源 .
選 項 .
IPC_STAT 取 得 資 源 選
項 .
請 注 意
IPC_PRIVATE 是 一 個 key_t
類 型 , 而 別 的 符
號 常 數 都 是 標
誌 域 ,它 們 的 可
以 或 ( OR )在 一 起 形
成 int 類 型 . 消 息
隊 列 消 息 隊 列
由 正 整 數 (它 的
msqid) 唯 一 標 識 , 其
結 構 體 struct msquid_ds 在
<sys/msg.h> 中 定 義 ,
包 含 如 下 成 員 :
struct
ipc_perm msg_perm;
ushort msg_qnum; /* 隊 列 中 消
息 數 目 */
ushort msg_qbytes; /* 一 條 隊
列 最 大 字 節 數 */
ushort msg_lspid; /* 上 一 次 msgsnd
調 用 的 pid */
ushort msg_lrpid; /* 上 一 次 msgrcv
調 用 的 pid */
time_t msg_stime; /* 上 一 次 msgsnd
的 時 間 */
time_t msg_rtime; /* 上 一 次 msgrcv
的 時 間 */
time_t msg_ctime; /* 上 一 次 修
改 時 間 */
|
msg_perm |
|
ipc_perm 結
構 , 指 明 瞭 對 該
消 息 隊 列 的 訪
問 權 限 .
該 隊 列
當 前 的 消 息 總
數 .
|
msg_qbytes 該
隊 列 所 允 許 的
消 息 正 |
|
|
文 最 大
字 節 總 數 .
msg_lspid 最 後 做 msgsnd
系 統 調 用 的 進
程 的 ID.
msg_lrpid 最 後 做 msgrcv
系 統 調 用 的 進
程 的 ID.
msg_stime 最 近 做 msgsnd
系 統 調 用 的 時
間 .
msg_rtime 最 近 做 msgrcv
系 統 調 用 的 時
間 .
改 變
msqid_ds 結 構 成 員 的
時 間 . 信 號 燈 集
合 信 號 燈 集 合
由 正 整 數 (它 的
semid) 唯 一 標 識 , 並
有 一 個 與 之 關
聯 的 結 構 體 struct
semid_ds 它 在 <sys/sem.h>
中 定 義 , 包 含 如
下 成 員 :
struct
ipc_perm sem_perm;
time_t sem_otime; /* 上 一 次 操
作 的 時 間 */
time_t sem_ctime; /* 上 一 次 修
改 的 時 間 */
ushort sem_nsems; /* 集 合 中 信
號 燈 數 目 */
|
sem_perm |
|
ipc_perm 結
構 , 指 明 對 該 信
號 燈 集 合 的 訪
問 權 限 .
最 近 做
semop 系 統 調 用 的
時 間 .
sem_ctime 最 近 做 semctl
系 統 調 用 的 時
間 , 該 調 用 修 改
了 上 面 結 構 的
一 個 成 員
或 者 改
變 了 屬 於 該 集
合 的 一 個 信 號
燈 .
|
sem_nsems 該
信 號 燈 集 合 的
信 號 燈 數 目 |
|
. 集 合 中
每 個 信 號 燈 都
可 以 用 從 0 到 |
sem_nsems-1 的
一 個 非 負 整 數
來 引 用 . 一 個 信
號 燈 就 是 一 個
struct sem 結 構 , 包 含
如 下 成 員 :
ushort
semval; /* 信 號 燈 值 */
short sempid; /* 上 一 次 操
作 的 進 程 的 pid */
ushort semncnt; /* 等 待 增 加
semval 值 的 進 程 數 目
*/
ushort semzcnt; /* 等 待 semval = 0 的
進 程 數 目 */
|
semval 該 信
號 燈 值 ,是 一 個
非 負 整 數 |
.
|
sempid 最 後
一 個 對 該 信 號
燈 做 操 作 的 |
|
|
|
進 程 ID.
semncnt 等 待 增 加
semval 的 進 程 數 .
semznt 等 待
semval 變 成
0 的 進 程 數 . 共 享
內 存 段 共 享 內
存 段 由 正 整 數
(它 的 shmid) 唯 一 標
識 , 有 一 個 關 聯
的 結 構 類 型 struct
shmid_ds 在 <sys/shm.h> 中
定 義 , 包 含 如 下
成 員 :
struct
ipc_perm shm_perm;
int shm_segsz; /* 段 尺 寸 */
ushort shm_cpid; /* 創 建 者 pid */
ushort shm_lpid; /* 上 一 次 操
作 的 進 程 的 pid */
short shm_nattch; /* 目 前 附 着
的 進 程 數 目 */
time_t shm_atime; /* 上 一 次 附
着 的 時 間 */
time_t shm_dtime; /* 上 一 次 脫
離 的 時 間 */
time_t shm_ctime; /* 上 一 次 修
改 的 時 間 */
|
shm_perm |
|
ipc_perm 結
構 , 指 明 對 共 享
內 存 段 的 訪 問
權 限 .
共 享 內
存 段 的 大 小 , 以
字 節 爲 單 位 .
shm_cpid 創 建 該 共 享
內 存 段 的 進 程
的 ID.
shm_lpid 最 後 執 行
shmat 或 者
shmdt 系 統 調 用 的
進 程 ID.
|
shm_nattch 當
前 對 該 共 享 內
存 段 的 活 躍 連
接 數 |
|
. |
|
|
shm_atime 最 後 做 |
|
|
|
shmat 系 統
調 用 的 時 間 .
|
shm_dtime 最
後 做 |
|
shmdt 系 統
調 用 的 時 間 . |
|
shm_ctime 最 後 做 |
|
shmctl 系 統 調 用
的 時 間 , 如 果 該
調 用 改 變 了 shmid_ds. |
ftok(3),
msgctl(2), msgget(2), msgrcv(2),
msgsnd(2), semctl(2), semget(2),
semop(2), shmat(2), shmctl(2),
shmget(2), shmdt(2).
name
<email>
2001/02/02
http://cmpp.linuxforum.net
本 頁 面
中 文 版 由 中 文 man
手 冊 頁 計 劃 提
供 。 中 文 man 手 冊
頁 計 劃 :
https://github.com/man-pages-zh/manpages-zh
| | | | |