Linux作为一个多进程的操作系统,进程和进程之间需要进行通信。
Linux进程间通信: 英文 Interprocess Communication
进程间通信的目的
1、数据传输
一个进程需要将数据发送给另一个进程。
2、资源共享
多个进程之间共享同样的资源。
3、通知事件
一个进程需要向另一个或一组进程发送消息,通知它们发生了某事件。
4、进程控制
有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有操作,并能够及时知道它的状态改变。
进程间通信的发展:
Linux进程间通信由以下几部分发展而来:
1、UNIX进程间通信
2、基于System V进程间通信
3、POSIX进程间通信
POSIX(Portable Operating System Interface)
可移植的操作系统接口标准。电气和电子工程师协会IEEE最初开发 POSIX 标准,是为了提高 UNIX 环境下应用程序的可移植性。然而,POSIX 并不局限于 UNIX,许多其它的操作系统,例如Microsoft Windows都支持POSIX 标准。
进程间通信的主要方式:
Linux进程间通讯的主要方式有:(7种)
1、无名管道(pipe)
2、有名管道(FIFO)
3、信号(signal)
4、消息队列(message)
5、共享内存
6、信号量
7、套接字(socket)
上述内容的详细学习笔记在后续的文章中。