90Б. Помогите разработать две простых программы ** языке С под Linux: 1.Составьте UNIX...

0 голосов
50 просмотров

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


Информатика (20 баллов) | 50 просмотров
0

боюсь вам даже за 100балов никто не сделает, да и условие не совсем точное

0

ну хоть 1 задание помогите сделать

Дан 1 ответ
0 голосов
Правильный ответ

1 задание, пробуйте
#include
#include
#include
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 > 0) {
         close(fd[0]);
         write(fd[1], inf_to_send, size);
         printf("Parent(%d) send str: %s\n", getpid(), inf_to_send);
         close(fd[1]);
     } else {
         close(fd[1]);
         read(fd[0], inf_to_send, size);
         printf("Child(%d) received str: %s\n", getpid(), inf_to_send);
         close(fd[0]);
     }
}

(4.2k баллов)