|
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
| | | | |