![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unix网络编程-进程通信
文章平均质量分 90
LuckyDog0623
来自一个社会底层打工人的呐喊
展开
-
Unix网络编程-进程间通信---6、System IPC---消息队列
1、使用消息队列标识符表示(和普通文件fd相似) 2、打开一个消息队列标识符时,内核对应维护一个信息结构体 内核给每一个system V IPC维护一个信息结构体: struct ipc_perm{ uid_t uid; gid_t gid; uid_t cuid; gid_t ugid; mode_t mode;//读写权限 ulong_t seq; ket_t ...原创 2021-05-03 16:47:40 · 247 阅读 · 0 评论 -
Unix网络编程-进程间通信---4、最初的Unix IPC --FIFO
FIFO 1、 FIFO指先进先出first in first out;考虑到pipe只能用户父子进程之间的进程间通信的机制; FIFO和pipe一样,是一个单向数据流,但是fifo有一个路径名与之相关两,能够让不同进程访问实现通信 2、int mkfifo(const char *pathname, mode_t mode) 注意:mode的几个宏 (1)、mkfifo已经指定O_CREAT | O_EXCL,也就是说要么创建新的fifo,要么返回错误(已经存在)mode; (2)、打开(open)一个原创 2021-05-03 00:45:16 · 268 阅读 · 0 评论 -
Unix网络编程-进程间通信---4、最初的Unix IPC -- 管道
1、客户端服务器需求 2、int pipe(int fd[2])//返回两个文件描述符,fd[0]读,fd[1]写; 宏S_IISFIFO用来确定一个文件描述符或者文件是管道还是FIFO; 3、半双工通信管道的使用:一对父子进程,由父进程创建一个管道,子进程复制副本;父进程关闭读fd[0],子进程关闭写fd[1];实现了单向父 ----> 子的通信 因为父进程创建的管道资源是属于父子进程公共分享的空间,这个资源只在父进程创建了一份; 4、如何理解who | sort | lp -----.原创 2021-05-02 16:12:16 · 275 阅读 · 0 评论 -
Unix网络编程-进程间通信---2、POSIX IPC 3、System IPC 简介比较
一、Posix IPC Posix函数汇总 创建、打开、删除、控制、操作 二、System V IPC SYSTEM IPC 和posix 有共同的三种IPC :消息队列、信号量、共享内存 1、IPC键---key_t键和ftok函数 (1)System V IPC使用key_t值作为他们的名字,通常是一个至少32位的整数; (2)key_t ftok(const char * pathname, int id); (3)函数把pathname导出的信息和id的低8位组合成一个整..原创 2021-05-02 13:35:53 · 256 阅读 · 0 评论