Добавил:
Fragga
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:лабораторки по ОС препод Челноков / 2семестр / wi1 / Esin / laba2
.c//.3 sdana
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
void Start( char* name)
{
// …б«Ё Ї®в®¬®Є
if( fork() == 0 )
{
execlp( name, name, 0 );
}
}
int main( int argc, char* argv[] )
{
int i,ffd, fd[2], in, out;
int buf1, buf2;
buf1 = dup(0);
buf2 = dup(1);
ffd=open("f.dat",O_RDONLY);
in=dup(ffd);
pipe( fd );
out = fd[1];
dup2(in,0);
dup2(out,1);
// close(in);
// close(out);
Start( argv[1]);
in = fd[0];
dup2(in,0);
dup2(buf2,1);
Start(argv[2]);
dup2(buf1,0);
}