命名管道双向通讯linux
命名管道克服了匿名管道的局限性
1)命名管道是在文件系统中作为一个特殊的设备文件而存在的。
2)不同祖先的进程之间可以通过管道共享数据。
3)当共享管道的进程执行完所有的I/O操作以后,命名管道将继续保存在文件系统中以便以后使用。
4)管道只能由相关进程使用,它们共同的祖先进程创建了管道。但是,通过FIFO,不相关的进程也能交换数据。
命名管道用于不相关两个进程进行通讯
1.process2.c
判断是否打开管道失败后,进入while循环,写入要打印的内容,并写入管道fd1。再从fd2管道读出内容(另一个进程发送的内容),并打印。
2.process1.c
以”只读“打开path1,以”只写”打开path2。
判断是否打开管道失败后,进入while循环,从fd1管道读出内容(另一个进程发送的内容),并打印。写入要打印的内容,并写入管道fd2。
3. 通过gcc编译,链接,执行两个.c文件
4.执行效果