Добавил:
Fragga
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:лабораторки по ОС препод Челноков / 2семестр / wi2 / zubanov / qw / pipe_file_add_03
.c#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
#include <fcntl.h>
main ()
{
int i, in1, out1, in2, out2, f_des, buf1, buf2;
int fd[2];
char s[100]="error";
in1=dup(0);
buf1=dup(0);
buf2=dup(1);
if(pipe(fd)==(-1)) { printf("\n error1"); exit (-1);}
out1=fd[1];
in2=fd[0];
if (fork()==0)
{
dup2(in1, 0);
dup2(out1, 1);
close (in1);
close (out1);
execlp ("pr1", "pr1", 0);
}
dup2(in2, 0);
close (1);
f_des=open("./f.res", O_WRONLY|O_APPEND, 0766);
//if (f_des==-1) {write (1, s, sizeof (s)); exit (-1);}
// f_des=creat("./f1.res", 0777);
if (fork()==0) execlp ("pr2", "pr2", 0);
dup2(buf1, 0);
dup2(buf2, 1);
}
Соседние файлы в папке qw