Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <sys/types.h>
- #include <sys/wait.h>
- #include <errno.h>
- #include <unistd.h>
- int main()
- {
- pid_t pid;
- // Proces Macierzysty
- printf( "Moj pid to: %d\n\n", getpid() );
- // fork() tworzy proces potomny. Zwaca pid nowego procesu.
- switch( pid = fork() )
- {
- // W przypadku bledu
- case -1:
- printf( "Error in fork = %d %s\n", errno, strerror( errno ) );
- //return 0;
- // w przypadku poprawnego wykonania tworzy sie proces potomny
- case 0:
- printf( "Jestem procesem potomnym. Moj PID = %d\n", getpid() );
- printf( "Jestem procesem potomnym. Wartosc przekazana przez fork = %d\n", pid);
- return 0;
- //proces macierzysty
- default:
- printf( "Jestem procesem macierzystym. Moj PID = %d\n", getpid() );
- printf( "Jestem procesem macierzystym. Wartosc przekazana przez fork = %d\n", pid);
- //return 0;
- // W celu zakonczenia procesu potomnego
- //sleep( 10 );
- // wait( liczba ) czeka na dana liczbe zwracana przez proces potomny. W tym przypadku czeka na 0 czyli zakonczenie.
- if( wait( 0 ) == -1 )
- printf( "Error in wait = %d %s\n", errno, strerror( errno ) );
- return 0;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment