Napisalem program ktory powinien realizować następujący potok
"finger | cut -d' ' -f1"
Niestety program dochodzi tylko do finger.
Pomoże ktoś?
#include
#include
#include
#include
int main(int argc, char* argv[]){
int pdesk[2];
if(pipe(pdesk) == -1)
{
perror("blad tworzena potoku");
exit(1);
}
switch(fork())
{
case -1:
perror("blad tworzenia procesu");
exit(1);
case 0:
dup2(pdesk[1], 1);
execvp("finger", argv);
perror("blad uruchomienia programu ls");
exit(1);
default:
{ //proc macierzysty
close(pdesk[1]);
dup2(pdesk[0], 0);
execlp("cut", "-d' '", "-f1", 0);
perror("Uruchomienie cut");
exit(1);
}
}
return 0;
}