Untitled
unknown
plain_text
a year ago
977 B
3
Indexable
#include <stdio.h> #include <stdlib.h> #include <unistd.h> main(int argc, char* argv[]) { int pdesk[2]; int pdesk_2[2]; if (pipe(pdesk) == -1){ perror("Tworzenie potoku"); exit(1); } switch(fork()){ case -1: // blad w tworzeniu procesu perror("Tworzenie procesu"); exit(1); case 0: // proces potomny dup2(pdesk[1], 1); execlp("ps", "ps", "-ef", NULL); perror("Uruchomienie programu ls"); exit(1); default: { // proces macierzysty close(pdesk[1]); pipe(pdesk_2); if (fork() == 0) { // potomny dup2(pdesk[0], 0); dup2(pdesk_2[1], 1); execlp("tr", "tr", "-s", " ", NULL); exit(0); } dup2(pdesk_2[0], 0); close(pdesk_2[1]); execlp("cut", "cut", "-f2", "-d", " ", 0); perror("Uruchomienie programu cut"); exit(1); } } }
Editor is loading...
Leave a Comment