管道是进程间通信的最原始方式,今天我们利用管道的进程间通信,来实现简单的进程间单向通信
首先我们需要了解命名管道的一些特性命名管道的使用与创建
然后创建一个fifo_c的文件来实现输入数据和发送数据
/*这是一个命名管道的实现,往命名管道中写入数据,并且发送给另一个进程
* 1. 创建一个命名管道
* int mkfifo(const char*pathname,mod_t mod);
* pathname:管道的文件路径名字
* mod:管道文件的权限
* 成功返回0, 失败返回-1
* 2.打开管道open
* 3.往管道中写入数据
* 4.关闭管道文件close
*/
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<errno.h>
#include<string.h>
#include<fcntl.h>//文件操作的头文件
int main()
{
umask(0);
//为了防止因为管道文件存在,创建失败
//unlink("./test.fifo")-----删除文件
//1.创建命名管道
if(mkfifo("./test.fifo",0664)<0){
if(errno==EEXIST){
//文件存在
}
else{
perror("mkfifo error");