Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
6
Добавлен:
26.05.2014
Размер:
556 б
Скачать
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>

void Start( char* name,int in,int out)
{

  if( fork())
  { 
     dup2(in,0);
     dup2(out,1); 				
     execl (name,name, 0 );
  }
}

int main( int argc, char* argv[] )
{
  int i, fd[2],ffd;
  int buf1, buf2,in,out;
in=buf1 = dup(0);
out=buf2 = dup(1);

ffd=open("f.dat",O_RDONLY);
	dup2(ffd,0);
	close(ffd);
for(i=1;i<argc-1;i++)
{
	pipe(fd);
	out=fd[1];
	Start(argv[i],in,out);			
	in=fd[0];
}
out=1;
Start(argv[i],in,out);
//	dup2(buf2,1);
//	dup2(buf1,0);
	//close(ffd);
	return(0);
}


 


Соседние файлы в папке Esin