常用的进程间通信方式
传统的进程间通信方式
无名管道(pipe)、有名管道(fifo)和信号(signal)
System V IPC对象
共享内存(share memory)、消息队列(message
queue)和信号量(semaphore)
BSD
套接字(socket)
=============================================================
无名管道只能用于具有亲缘关系的进程之间的通信。
它是一个半双工的通信模式,具有固定的读端和写端。
管道也可以看成是一种特殊的文件,对于它的读写也可以使用普通的read()和write()等函数。但是它不是普通的文件,并不属于其他任何文件系统,即只存在于内核的内存空间中。
管道是基于文件描述符的通信方式,当一个管道建立时,它会创建两个文件描述符fds[0]和fds[1],其中
◇fds[0]固定用于读管道
◇fd[1]固定用于写管道
这样就构成了一个半双工的通道。