client.c:1#include<stdio.h>2#include<stdlib.h>3#include<string.h>4#include<sys/stat.h>5#include<sys/types.h>6#include<unistd.h>7#include<fcntl.h>8#define_PATH_"./tmp"9#defineSIZE10010intmain()11{12if(mkfifo(_PATH_,0666|S_IFIFO)<0)13{14perror("mkfifo");15return-1;16}17intfd=open(_PATH_,O_WRONLY);18if(fd<0)19{20perror("open");21return-1;22}23charbuf[SIZE];24memset(buf,'\0',SIZE);25while(1)26{27scanf("%s",buf);28write(fd,buf,strlen(buf));29}30close(fd);31return0;32}server.c:1#include<stdio.h>2#include<stdlib.h>3#include<string.h>4#include<sys/stat.h>5#include<sys/types.h>6#include<unistd.h>7#include<fcntl.h>8#define_PATH_"./tmp"9#defineSIZE10010intmain()11{12intfd=open(_PATH_,O_RDONLY);13if(fd<0)14{15perror("open");16return-1;17}18charbuf[SIZE];19while(1)20{2122memset(buf,'\0',SIZE);23read(fd,buf,sizeof(buf));24printf("%s\n",buf);25}26close(fd);27return0;28}Makefile:1.PHONY:all2all:clientserver3server:server.c4gcc-o$@$^5client:client.c6gcc-o$@$^7.PHONY:clean8clean:9rm-fclientservertmp