IPC - Unix
文章平均质量分 92
Unix下进程通信
UncleDSs
这个作者很懒,什么都没留下…
展开
-
IPC - Unix - 共享内存
1、共享内存 共享内存允许两个或多个进程共享一给定的存储区,是最快的一种进程间通信机制。对于像管道和消息队列等通信方式,需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据:一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程之间在共享内存时,并不总是读写少量数据后就解除映射,有新的通信时,再重新建立共享内存区域。而是保持共享区域,直到通信完毕为止,这样,数据内容一直保存在共享内存中,并没有写回文件。共享内存中的内容往往是在解除映射时才写回文件的。因此,采用共享内存的通信方原创 2021-02-24 18:50:21 · 311 阅读 · 0 评论 -
iPC - Unix - 信号
1、signal - 捕获信号 signal 函数的使用方法简单,但并不属于 POSIX 标准,在各类 UNIX 平台上的实现不尽相同,因此其用途受到了一定的限制。 功能 简单的信号处理函数(信号捕捉函数) 头文件 #include <signal.h> 原型 typedef void (*sighandler_t)(int); //信号处理函数的 指针 sighandler_t signal(int signum, sighan...原创 2021-02-22 15:49:34 · 217 阅读 · 0 评论 -
IPC - Unix - 消息队列
1、消息队列 消息队列是一个存放在内核中的消息链表,每个消息队列由消息队列标识符标识。与匿名管道不同的是消息队列存放在内核中,只有在内核重启(即操作系统重启)或者显式地删除一个消息队列时,该消息队列才会被真正的删除。用户可以从消息队列中读取数据和添加消息,其中发送进程添加消息到队列的末尾,接收进程在队列的头部接收消息,消息一旦被接收,就会从队列中删除。和FIFO有点类似,但是它可以实现消息的随机查询,比FIFO具有更大的优势(比如按消息的类型字段取消息)。 2、msqid_ds Linux内核中,每个原创 2021-02-20 15:51:38 · 311 阅读 · 0 评论