第十一章 进程间通信

来源:互联网 发布:js监听函数是否执行 编辑:程序博客网 时间:2024/06/15 18:17

《TCP/IP网络编程》 尹圣雨 P183~P193

进程间通信的基本概念

进程间通信 Inter Process Communication意味着两个不同进程间可以交换数据。

只要有2个进程可以同时访问的内存空间,就可以通过此空间交换数据。

进程具有完全独立的内存结构。fork()创建的子进程也不会与父进程共享内存空间。


通过管道实现进程间通信

为完成进程间通信,需要创建管道。管道并非属于进程的资源,而是和套接字一样,属于操作系统(也就不是fork函数的复制对象)。所以,两个进程通过操作系统提供的内存空间进行通信。

#include<unistd.h>int pipe(int filedes[2]);
成功时返回0,失败时返回-1

filedes[0]:通过管道接收数据时使用的文件描述符,即管道出口。

filedes[1]:通过管道传输数据时使用的文件描述符,即管道入口。


通过管道进程进程间双向通信  P185~P187

向管道传递数据时,先读的进程会把数据取走。

使用两个管道可以避免程序流程的预测或控制。


运用进程间通信

保存消息的回声服务器端 P189~P192


原创粉丝点击