FIFO管道


1.mkfifo -m 777 fifo1 :  创建一个有名管道,权限是777

2.可以实现无关进程间的通信,克服了匿名管道的缺陷

3.管道文件最前面是 p

4.管道文件传输信息类似于文件,但又区别于普通文件,管道文件在数据读出后,管道中就会同时清除数据

5.函数创建管道:

 

    
  1. #include<stdio.h>
  2. #include<sys/stat.h>
  3. #include<sys/types.h>
  4. #include<stdlib.h>
  5. int main(int argc,char* args[])
  6. {
  7. if(argc<2)
  8. {
  9. printf("please input fifo name! ");
  10. exit(-1);
  11. }
  12. mode_t mode = 0666;
  13. if(mkfifo(args[1],mode)==-1)
  14. {
  15. perror("create fifo file");
  16. exit(-1);
  17. }
  18. puts("create fifo success!");
  19. return 0;
  20. }

注意创建的FIFO文件的权限不是mode,必须用umask修正

umask的值可以通过命令查看,也可以自己设定












原文地址:https://www.cnblogs.com/ZhangJinkun/p/4562475.html