Добавил:
Fragga
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:лабораторки по ОС препод Челноков / 2семестр / wi2 / lesja / lab2
.c#include<fcntl.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>
extern char **environ;
main(int narg, char* marg[])
{
int i,fd[2],fdin,pid1,pid2;
pipe(fd);
close(0);
fdin=open("/dev/null",O_RDONLY);
for(i=1;i<narg;i++)
{
pid1=fork();
if(pid1==0){dup2(fd[0],0);pid2=getpid();printf("potomok - %d \n",pid2);}
else{dup2(fd[1],1);printf("PREDOK - %d\n",pid1);break;}
}
char* args[]={marg[i],NULL};
printf("%d\n",i);
execve(args[0],args,environ);
}