linux进程间通信--命名管道

我们可以使用mkfifo(FIFO_FILE, 0666 | S_IFIFO)函数创建一个命名管道来实现进程间的通信。

在对管道进行读写之前需要open打开它,在打开的时候需指定打开的模式:1.O_RDONLY;2.O_WRONLY;3.O_RDWR

当我们单独使用O_RDONLY或者O_WRONLY方式打开管道时,默认是被阻塞的,除非另一个进程用相对应的方式打开同一管道,这时才能读写管道进行通信。

注意:此时当管道使用的两端进程有一方退出的时候,管道就被阻塞,此时若再读写操作就会出现类似Broken pipe的提示。

posted @ 2019-04-10 10:09  克林斯顿  阅读(213)  评论(0编辑  收藏  举报