Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
7
Добавлен:
26.05.2014
Размер:
561 б
Скачать
#include<stdio.h>
#include<unistd.h>
 
int main(int argc, char* argv[])
{
    if(argc!=5)
	{
		printf("invalid arguments\n");
	}

	int fd[2],in ,f_des,out;
	int buf1, buf2;
	in = dup(0);
	buf1 = dup(0);
	buf2 = dup(1);
	pipe(fd);
	out=fd[1];
	dup2(in,0);
	dup2(out,1);
	close(in);
	close(out); 
	if(fork()==0){execlp(argv[1],argv[1],0);}
	if(fork()==0){execlp(argv[2],argv[2],0);}
	in = fd[0];

	dup2(in,0);
	close(1);
	f_des=creat(argv[4],0777);
	if(fork()==0)
	{
	execlp(argv[3],argv[3],0);
	}
	dup2(buf2,1);
	dup2(buf1,0);
}
Соседние файлы в папке prog