ÖØµã¿´Ï³ÌÐòµÄºì×Ö²¿·Ö
³ÌÐòÊÇÏëÓÃÃüÃû¹ÜµÀFIFOʵÏÖ¼òµ¥µÄÁÄÌ칦ÄÜ.ÏÂÃæÉèÊÇÀîËĶ˵ÄÔ´´úÂë
#include <stdio.h>
#include <fcntl.h>
#include <memory.h>
#include <string.h>
#include <stdlib.h>
#include <sys/select.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
int main()
{
int i,rfd,wfd,len=0,fd_in;
char str[32];
int flag,stdinflag;
fd_set write_fd,read_fd;
struct timeval net_timer;
mkfifo("fifo1",S_IWUSR|S_IRUSR|S_IRGRP|S_IROTH);
mkfifo("fifo2",S_IWUSR|S_IRUSR|S_IRGRP|S_IROTH);
wfd=open("fifo1",O_WRONLY);
rfd=open("fifo2",O_RDONLY);
if(rfd <0||wfd <0) return 0;
printf("ÕâÊÇÀîËĶË!");
while(1){
FD_ZERO(&read_fd);
FD_SET(rfd,&read_fd);
FD_SET(fileno(stdin),&read_fd);
net_timer.tv_sec=5;
net_timer.tv_usec=0;
memset(str,0,sizeof(str));
if(i=select(rfd+1,&read_fd,NULL,NULL,&net_timer) <=0)
continue;
if(FD_ISSET(rfd,&read_fd)){
read(rfd,str,sizeof(str));
printf("------------------------\n");
printf("zhang:%s\n",str);
}
if(FD_ISSET(fileno(stdin),&read_fd)){
print
Ó¦ÓÃϵͳÊǰ²×°ÔÚ /opt Ŀ¼Ï£¬/opt Ŀ¼ÊÇÊôÓÚ¸ùĿ¼ / ϵġ£ÁíÍâÒ»¸öÎļþϵͳµÄ¹ÒÔØµãÊÇÔÚ/aaaĿ¼Ï£¬¿É·ñ½«/optĿ¼ÏµÄËùÓÐÎļþcopyµ½/aaaĿ¼Ï£¬umount ÔÚ/aaaĿ¼ÏµĹÒÔØµã£¬½«/aaa¸ÄÃû/optĿ¼£¬ÔÙ½«ÔÀ ......