fork() returns a process ID AKA PID, there are three instances;
- if PID < 0, fork() returns a negative value, the creation of a child process was unsuccessful.
- if PID ==0, fork() returns a zero to the newly created child process.
- if PID > 0, fork() returns a positive value, the process ID of the child process, to the parent.
- Variables initialized before the fork() call have the same values in both address spaces.
- Modifications done in each process will be independent.
#include <signal.h>
#include <stdio.h>
void main() 
{
 int pid;
 printf("Parent process ID %d \n",getpid());
 pid = fork();
  if (pid==0) {
   printf("Child process ID %d \n",getpid());
    int x;
    printf("Enter Value : ");
    scanf("%d",&x);
    printf("Entered Value : %d",x);
  } else if (pid > 0) {
   sleep(5);// parent stops execution for 5 seconds
   printf("Parent process ID %d \n",getpid());
  }
}


 
 
A good and very valuble post......got a something in ur post.....thanx(if u can remove the word verification then will be easy to do comment)
ReplyDeleteThanks a lot...
ReplyDeletenice post
ReplyDelete