2012年(8)
分类: LINUX
2012-07-13 09:57:16
进程间通信 Posix-IPC
三种类型的IPC合成Posix IPC。
Posix 消息队列
Posix 信号量
Posix 共享内存区
它们在访问函数的描述上有一些类似,共同的属性:用于标识的路径名,打开或创建是定的标志和访问权限。
创建与打开IPC通道:
mq_open sem_open和shm_open这三个创建或打开一个IPC对象函数,它们的名为oflag额第二个参数指定怎样打开各种常值,可以选择的有
O_RDONLY只读 O_WRONLY只写 O_RDWR读写权限
O_CREAT如果不存在的话创建, O_EXCL排他锁
O_NONBOCK非阻塞模式
oflag这写参数可以与链接,指定文件的各种打开方式和打开以后的权限
它们名为mode的第三个参数指定参数的权限位
常值按与或形成 定义在
S_IRUSR 用户读 S_IWUSR 用户写
S_IRGRP 组成员读 S_IWGRP 组成员写
S_IROTH 其他用户读 S_IWOTH 其他用户写
三种posix IPC 消息队列,信号量,共享内存都是用路径名标识的,不同的系统,可能出现移植性问题,创建一个IPC对象时,指定一组类似与open函数所用的标志,创建IPC对象时,我们必须给这个新对象指定访问权限。