linux c之命名管道简单使用
生活随笔
收集整理的這篇文章主要介紹了
linux c之命名管道简单使用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、介紹FIFO(命名管道)
管道有局限性,只能在具有親緣關(guān)系的進(jìn)程間通信,但是命名管道克服了這個問題,可以實現(xiàn)無親緣關(guān)系的進(jìn)程之間的通信
API介紹:
/* FIFO 命名管道 */ /* * 函數(shù)功能:功能和管道類似; * 返回值:若成功則返回0,若出錯則返回-1; * 函數(shù)原型: */ #include <sys/stat.h> int mkfifo(const char *pathname, mode_t mode); /* * 說明: * 參數(shù)mode和open函數(shù)的mode參數(shù)一樣; * pathname:一個 Linux 路徑名,它是 FIFO 的名字。即每個 FIFO 與一個路徑名相對應(yīng)。 * mode:指定的文件權(quán)限位,類似于 open 函數(shù)的第三個參數(shù)。 * 即創(chuàng)建該 FIFO 時,指定用戶的訪問權(quán)限,可以取以下值: * S_IRUSR,S_IWUSR,S_IRGRP,S_IWGRP,S_IROTH,S_IWOTH。 * 該函數(shù)創(chuàng)建一個FIFO之后,就可用open函數(shù)打開; */
mkfifo 函數(shù)默認(rèn)指定 O_CREAT | O_EXECL 方式創(chuàng)建 FIFO,如果創(chuàng)建成功,直接返回0。如果 FIFO 已經(jīng)存在,則創(chuàng)建失敗,會返回-1
總結(jié)
以上是生活随笔為你收集整理的linux c之命名管道简单使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux c之通过管道父子进程实现同步
- 下一篇: linux c之access方法介绍