Created
January 9, 2016 17:18
-
-
Save jciechowski/a5d426a073a5f001dca3 to your computer and use it in GitHub Desktop.
piec
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <unistd.h> | |
#include <signal.h> | |
#include <fcntl.h> | |
#include <string.h> | |
#include <stdlib.h> | |
int descr[2]; //tablica deskryptorow | |
int main() | |
{ | |
if (pipe(descr) < 0)perror("Blad tworzenia kolejki!"); | |
if(fork() == 0) | |
{ | |
close(descr[0]); //zamykam deskryptor odczytu (program zapisujacy do potomka)*/ | |
dup2(descr[1],1); //zamieniam deskryptor stdout na descr[1] (wskazuje) | |
system("cat /etc/passwd"); //wykonuje polecenie cat -> do descr[1], posluguje sie kolejka komunikacyjna | |
close(descr[1]); //zamykam deskryptor zapisu (przerywam dzialanie procesu potomnego, przerywam czytanie) | |
} | |
else | |
{ | |
close(descr[1]); //zamykam deskryptor zapisu (dzialam w procesie odczytu) | |
dup2(descr[0],0); //wskazuje stdin -> na descr[0] | |
system("sort"); //wykonuje polecenie sort (dane pobieram z descr[0], czyli z procesu macierzystego | |
close(descr[0]); //zamykam kolejke komunikacyjna | |
} | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment