进程间通信
进程间通信
进程间通信的本质
进程间通信的本质就是不同的进程可以看见同一份资源
进程间通信的目
- 数据传输:一个进程需要将它的数据发送给另外一个进程
- 资源共享:多个进程之间共享相同的资源
- 通知事件:一个进程需要向另外一个或者一组进程发送消息,通知发生了什么事件(如果进程终止时就要通知父进程)
- 进程控制l:有些进程希望完成控制另外一个进程的执行,此时控制进程希望能够拦截另外一个进程的所有陷入和异常,并且能够及时知道它的状态的改变
如何可以做到进程间通信
- 进程运行时是具有独立性的
- 进程间通信一般需要借助第三方资源(操作系统)
- 通信的本质就是数据的拷贝
进程间通信分类
管道
什么是管道?
我们把一个进程连接到另外一个进程的一个数据流称为“管道”。
匿名管道
匿名管道通常是父子进程进行通信的一种方式。
管道的特点
- 只能用于具有共同祖先的进程之间的通信
- 管道提供流式服务
- 进程退出管道释放,管道的生命周期随进程