Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <unistd.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <sys/wait.h>
- #include <string.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
- int main()
- {
- pid_t pid;
- int p[2];
- mkfifo("p",0600);
- //mkfifo("q",0600);
- p[1]=open("p+",O_WRONLY);
- p[0]=open("p+",O_WRONLY);
- //q=open("q+",O_WRONLY);
- pid=fork();
- if(pid==0) /// fiul
- {
- close(p[0]); /// inchidem capatul pe care-l vom folosi in tata la preluarea output-ului acestui copil
- dup(p[1]); /// pt a trimite output-ul propriu
- execlp("cat","cat","prog.c",NULL);
- close(p[1]); /// inchidem capatul de output
- }
- else /// tatal
- {
- close(p[1]); ///inchidem capatul de output
- dup(p[0]); /// pt a prelua ce era in capatul de output
- execlp("grep","grep","include>","prog.c",NULL);
- close(p[0]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement