C Codes
Beginners
C on Unix
Code Snippets
Data Structures
File Operations
Games Graphics
Gnu-Linux
Hardware
Mathematics
Miscellaneous
Small Programs
Sorting
C > Gnu-Linux sample source codes
Show some pipe usage
Show some pipe usage #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main(void) { /* the file descriptors */ int pipe_file_descr[2]; /* pipe creates a pair of file descriptors */ pipe(pipe_file_descr); /* create a child process .... */ if(!fork()) { /* // dont need ``normal'' stdout() so... // closing ``normal'' stdout */ close(1); /* // Now we make stdout of this process // the same as pipe_file_descr[1] // dup() `is duplicate ...' */ dup(pipe_file_descr[1]); /* // Don't need this pipe file descriptor // since we have no input, only output for this process // closing this file descriptor ... */ close(pipe_file_descr[0]); /* // Fire up `ls' to have some output */ execlp("ls", "ls", "-1", NULL); } else { /* // Don't need ``normal'' stdin */ close(0); /* // making stdin the same as pipe_file_descr[0] */ dup(pipe_file_descr[0]); /* again, don't need this one .. */ close(pipe_file_descr[1]); /* count the output of `ls' ... */ execlp("wc", "wc", "-l", NULL); } /* done */ return 0; }
Privacy Policy
|
Link to Us
|
Links