Регистрация Вход
Информатика Студенческий Ртищев
Решено

90Б. Подскажите разработать две простых программы на языке С под Linux: 1.Составьте UNIX программу на языке С, порождающую дочерний процесс и получающую от него данные по именованному каналу. 2.Составьте UNIX-программу на языке С, запускающую в качестве дочернего процесса другую программу и переназначающую ее стандартный вывод на вывод в файл.

167
ОТВЕТЫ
1 задание, пробуйте
#include lt;stdio.hgt;
#include lt;stdlib.hgt;
#include lt;unistd.hgt;
const int size = 100;

int main()
{
     int fd[2];
     char inf_to_send[size];
     scanf("s", inf_to_send);
     pid_t p = fork();
     pipe(fd);
     if (p gt; 0) {
         close(fd[0]);
         write(fd[1], inf_to_send, size);
         printf("Parent(d) send str: s ", getpid(), inf_to_send);
         close(fd[1]);
     } else {
         close(fd[1]);
         read(fd[0], inf_to_send, size);
         printf("Child(d) received str: s ", getpid(), inf_to_send);
         close(fd[0]);
     }
}
91
Отв. дан
Для написания вопросов и ответов необходимо зарегистрироваться на сайте