1、进程间通信的目的:
(1)数据传输
(2)资源共享
(3)通知事件
(4)进程控制
2、POSIX(Portable Operating System Interface ) 表示可移植操作系统接口。是由IEEE(Institute of Electrical and Electronics Engineers ) 电器和电子工程师协会 开发的,目的是提高应用程序的可移植性。Microsoft windows 也支持 POSIX 标准。
3、Linux使用的进程间通信方式包括:
(1)无名管道和有名管道
(2)信号
(3)消息队列
(4)共享内存
(5)信号量
(6)套接字
4、管道
(1) 管道是单向的、先进先出的,它把一个进程的输出和另一个进程的输入连接在一起。
(2) 数据被一个进程读出后,将被从 管道中删除,其他进程将不能在读到这些数据。
(3)管道包括无名管道和有名管道两种。前者用于父进程和紫禁城的通信;后者可用于同一系统中的任意两个进程通信;
5、无名管道
(1)管道创建 int pipe(int filedis[2])
//当一个管道建立时,它会创建两个文件描述符:filedis[0]用于读管道,filedis[1]用于写管道
(2)关闭管道 close(filedis[x]) //逐个关闭
//关闭管道只需将这两个文件描述符关闭即可
(3)管道用于不同进程间的通信,通常先创建一个管道,在通过fork函数创建一个子进程,该子进程会继承父进程所创建的管道(即子进程会继承文件描述符)。