here is a snip in 0.11 version linux , in linux/init/main.c
179 if (!(pid=fork())) { 180 close(0); 181 if (open( "/etc/rc",O_RDONLY,0)) 182 _exit(1); 183 execve( "/bin/sh",argv_rc,envp_rc); 184 _exit(2); 185 } natually, the code from 180 to 184 is runned by the new process, what I can understand is why the new process know that the next code will run is close(0) and why it know It will end at line 184 ? so ,I feel that there should be some connection between them . but what the relationship in depth is ? thanks your help :) 2005/9/6, Dirk Gerdes <[EMAIL PROTECTED]>: > There is no connection between a child an its parent. > The child only gets a copy of the code. > If there were a pointer to a child or to the parent, you wouldn't need any > signals. > The processes could communicate directly. > > regards > > ----- Original Message ----- > From: "Sat." <[EMAIL PROTECTED]> > To: <linux-kernel@vger.kernel.org> > Sent: Tuesday, September 06, 2005 11:15 AM > Subject: what will connect the fork() with its following code ? a simple > example below: > > > > if(!(pid=fork())){ > > ...... > > printk("in child process"); > > ...... > > }else{ > > ..... > > printk("in father process"); > > ..... > > } > > > > this is a classical example, when the fork() system call runs, it will > > build a new process and active it . while the schedule() select the > > new process it will run. this is rather normal. > > > > but there is always a confusion in my minds. > > because , sys_fork() only copies father process and configure some new > > values., and do nothing . so the bridge between the new process and > > its following code, printk("in child process"), seems disappear . so I > > always believe that the new process should have a pointer which point > > the code "printk("in child process");". except this , there are not > > any connection between them ? > > > > very confused :( > > > > any help will appreciate ! > > > > > > > > -- > > Sat. > > - > > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > > the body of a message to [EMAIL PROTECTED] > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > Please read the FAQ at http://www.tux.org/lkml/ > > > > -- Sat. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/