#include // pipe #include #include #include #include int main(int argc, char* argv[]) { int filedes[2]; if (pipe(filedes) < 0) { perror("pipe"); return 1; } pid_t fpid = fork(); if (fpid == 0) { close(filedes[1]); char buf[1024]; int count = 2; while (count < argc) { read(filedes[0], buf, 1024); if (buf[0] != '\0') { printf("%s\n", buf); count++; // TODO: изчистване на buf } } } else { close(filedes[0]); for (int i = 1; i < argc; i++) { write(filedes[1], argv[i], strlen(argv[i])); sleep(1); } wait(NULL); } }