Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <unistd.h>
- #include <errno.h>
- #include <stdlib.h>
- #include <sys/types.h>
- #include <unistd.h>
- #include <sys/wait.h>
- #define ROZMIAR 16
- char *msg1="Hello, world #1";
- char *msg2="Hello, world #2";
- char *msg3="Hello, world #3";
- int main()
- {
- pid_t dziecko;
- int status;
- char bufor[ROZMIAR];
- int desc[2], j;
- if(pipe(desc)==-1)
- {
- perror("Nie udalo sie utworzyc potoku");
- exit(1);
- }
- dziecko = fork();
- switch(dziecko)
- {
- case -1:
- fprintf(stderr, "Nie mozna utworzyc procesu\n");
- exit(1);
- case 0:
- write(desc[1], msg1, ROZMIAR);
- write(desc[1], msg2, ROZMIAR);
- write(desc[1], msg3, ROZMIAR);
- perror("execl");
- exit(2);
- default:
- for(j=1; j<=3; j++)
- {
- read(desc[0], bufor, ROZMIAR);
- printf("%s\n", bufor);
- }
- waitpid(dziecko,&status,0);
- }
- exit(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement