linux c之用命名管道实现进程通信
生活随笔
收集整理的這篇文章主要介紹了
linux c之用命名管道实现进程通信
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、命名管道相關信息介紹
不是很了解命名管道先看這個篇博客 http://blog.csdn.net/u011068702/article/details/55102379 linux c之命名管道簡單使用
博客介紹了創建管道的方法,這里還需要介紹 open函數和調用阻塞
FIFO文件也可以使用open調用來打開,mkfifo函數只是創建一個FIFO文件,要使用命名管道還是將其打開。
但是有兩點要注意,
1、就是程序不能以O_RDWR模式打開FIFO文件進行讀寫操作,因為如一個管道以讀/寫方式打開,進程就會讀回自己的輸出,同時我們通常使用FIFO只是為了單向 的數據傳遞,要注意是O_REWR,不是O_WRONLY
2、就是傳遞給open調用的是FIFO的路徑名,而不是正常的文件。
open API
open(const char *path, O_RDONLY);//1 open(const char *path, O_RDONLY | O_NONBLOCK);//2 open(const char *path, O_WRONLY);//3 open(const char *path, O_WRONLY | O_NONBLOCK);//4
open調用的阻塞
open函數第二個參數中,選項O_NONBLOCK表示非阻塞,加上這個選項后,表示open調用是非阻塞的,如果沒有這個選項,則表示op
總結
以上是生活随笔為你收集整理的linux c之用命名管道实现进程通信的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux之安装Clion和运行使用总结
- 下一篇: linux之自己总结学习linux的资源