Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2014, 21:27   #1
MariaD
Пользователь
 
Аватар для MariaD
 
Регистрация: 10.01.2013
Сообщений: 56
Вопрос pipe,конвеер[c]

Задание:Организовать конвеер используя pipe
pr1|pr2|pr3

pr1=pr2=pr3
Код:
#include <sys/types.h> 
#include <unistd.h>
#include <stdio.h>
int main()
{int p;
//scanf("%d",&p);
p=0;
p++;
//printf("p=%d\n",p);
}

pr4
Код:
#include <sys/types.h> 
#include <unistd.h>
#include <stdio.h>
int main(int argc, char *argv[]){
int fd1[2]; int fd2[2];
pipe(fd);
int p1=fork();
if(p1==0){close(fd1[0]);
dup2(fd1[1],1); close(fd1[1]);
execlp("pr1","pr1",NULL);
}
int p2=fork();
if(p2==0){close(fd1[1]);
dup2(fd1[0],0); close(fd1[0]);
execlp("pr2","pr2",NULL);
}
wait(NULL); wait(NULL);

int p3=fork();
if(p3==0){close(fd2[0]);
dup2(fd2[1],1); close(fd2[0]);
execlp("pr2","pr2",NULL);
}
int p4=fork();
if(p4==0){close(fd2[0]);
dup2(fd2[1],1); close(fd2[0]);
execlp("pr3","pr3",NULL);
}
close(fd2[0]);close(fd2[1]);
wait(NULL); wait(NULL);
return 0;
}
Что-нибудь надо писать в консоле,чтобы прога работала, кроме ./pr4.out ?

Правильно ли я написала?Вроде код правильный, но где смотреть результат?
MariaD вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
pipe sukharef Общие вопросы C/C++ 4 21.06.2013 13:13
Pipe,завершение приложения Скарам Помощь студентам 3 31.03.2010 12:56
использование named Pipe Sparky Общие вопросы .NET 1 29.03.2010 17:54
Определить размер Pipe IceBreaker Помощь студентам 4 04.02.2010 18:28
Создание Pipe на C# (CreateFile) WinApi Помощь студентам 0 23.12.2009 08:07