C запись / чтение из нескольких именованных каналов - PullRequest
0 голосов
/ 31 января 2019
#include <stdio.h>
#include <unistd.h>
#include <ctype.h>
#include <fcntl.h>

int main()
{
    int data, pipe1, pipe2;
    pipe1 = open("pipe1",O_RDWR);
    pipe2 = open("pipe2",O_RDWR);
    read(STDIN_FILENO,&data,sizeof(data));
    write(pipe1,&data, sizeof(data));
    data+=1;
    write(pipe2,&data, sizeof(data));

    close(pipe1);
    close(pipe2);
    return 0;
}

У меня есть эта программа.Давайте назовем его prog1, который записывает значение stdin в pipe1, а значение stdin +1 в pipe2.

#include <stdio.h>
#include <unistd.h>
#include <ctype.h>
#include <fcntl.h>

int main()
{
    int data, pipe1;
    pipe1 = open("pipe1",O_RDWR);
    read(pipe1,&data,sizeof(data));
    write(STDOUT_FILENO,&data, sizeof(data));
    close(pipe1);
    return 0;
}

и эта программа позволяет называть его prog2, который читает из pipe1 и пишет в стандартный вывод.У меня также есть prog3, идентичный prog2, за исключением того, что он открывает pipe2.

Как я могу объединить их в bash для правильной работы.Я пробовал prog1 & prog 2 & prog3, но он не работает

...