c - A program where parent process creates a child process and both parent and child run same program different code -


//same program different code #include<stdio.h> #include<unistd.h> #include<stdlib.h>  int main() {     int pid;     pid=fork();     if(pid<0)     {         printf("\n error ");         exit(1);     }     else if(pid==0)     {         printf("\n hello child process ");         printf("\n pid %d ",getpid());         exit(0);     }     else     {         printf("\n hello parent process ");         printf("\n actual pid %d \n ",getpid());         exit(1);     }  } 

i tried , hope correct .
not satisfied output .

the output :

 hello parent process   actual pid 4287   ashu@ashu-virtualworld:~/desktop/4thsemester/testprep$   hello child process   pid 4288 

please me cant understand output , want child process occur first , parent process . , when execution ends control transferred program , return terminal have use ctrl+c , want after execution of program ends control transfers terminal .

the thing parallel processes don't map idea of "happening first"; they're running in parallel.

of course, can change odds having delay in code parent, before print-outs.

not @ sure mean "the control transferred program"; since both processes hit exit() after having printed messages, there should no program left transfer control to.

note don't need use exit() main(), should end plain old return since return type int.


Comments

Popular posts from this blog

Why does Ruby on Rails generate add a blank line to the end of a file? -

keyboard - Smiles and long press feature in Android -

node.js - Bad Request - node js ajax post -