liu4396 发表于 2006-11-15 12:39
关于fork()函数
在fork() 的“返回值“的讨论过程中——父进程fork返回子进程的ID,而对于fork子进程返回0 ,这句话应怎么理解?<BR><BR>fork() 创建的不就是子进程吗? 怎么还会牵扯到 父进程上面<BR><BR><BR>pid_t child; <BR>child=fork();<BR>在讨论child值得过程中,child是多少的问题,应怎么理解 ?<BR>
Dweng 发表于 2006-11-20 10:21
这个应该这么理解:<br>因为父进程要等待子进程运行结束,所以要用到一些系统调用来实现等待的过程(wait(pid_t pid)),<br>所以对父进程来说需要知道子进程的PID,<br>而对自进程所返回的只是FORK()成功的标志,没有什么意义。<br>父子进程牵涉到进程的互斥和并发。<br>
howema 发表于 2006-12-12 11:56
<P>一个父进程可能创建很多子进程,子进程成功返回给自己0,同时返回给父进程它(子进程)的ID,父进程可以通过wait等系统调用来等待子进程退出,然后做相应的处理,完成父子进程间的通信或同步。</P>
页:
[1]