原标题:Linux进程间通信-fifo测试
1:fifo原因
有名管道
文件:安全性,不自动化,数据不完整没有保障;锁的机制
PHP开发网站的时候,登录,session
2:测试
mkfifo
\\192.168.0.155\ncc\fifo_write.c\\192.168.0.155\ncc\fifo_read.c
其中:
fifo_write.c
#include#include#include#include#include#include#include// 打印错误函数voidprint_system_err(char *str,int err_no){ perror(str); exit(err_no);}intmain(int argc, char* argv[]){ int fd; char buf[1024]="niexiaoqian ok"; if (argc < 2) { printf("丢失fifo\n"); exit(1); } fd=open(argv[1],O_WRONLY); //只写方式if (fd < 0) { print_system_err("open failed",1); } // 往管道里面写 write(fd,buf,strlen(buf)); close(fd); return0;}
fifo_read.c
#include#include#include#include#include#include#include// 打印错误函数voidprint_system_err(char *str,int err_no){ perror(str); exit(err_no);}intmain(int argc, char* argv[]){ int length; int fd; char buf[1024]; if (argc < 2) { printf("丢失fifo\n"); exit(1); } fd=open(argv[1],O_RDONLY); //只读方式if (fd < 0) { print_system_err("open failed",1); } // 从管道里面读 length=read(fd,buf,sizeof(buf)); // 打印到标准输出 write(STDOUT_FILENO,buf,length); close(fd); return0;}
测试效果
另外一个客户端:
责任编辑: