日期:2014-05-16  浏览次数:20651 次

Linux下关于fork()的函数

对于操作系统的知识一知半解。我的问题是如果我生成的子进程睡眠时间很短,并且父进程还没有执行到wait函数,有没有这样的情况?? 父进程中的printf("父进程在等待......"); 就是为了看看能不能实现这种情况??
------解决方案--------------------
这当然是有可能的,子进程exit后直到父进程调用wait这段期间,子进程一直是僵尸进程。
------解决方案--------------------
fork后,父子进程谁先运行是不确定的。在子进程终止前,wait可以使父进程阻塞。
------解决方案--------------------
是的,wait成功就返回进程号,建议看看《UNIX环境高级编程》。信号是更好的方法。
------解决方案--------------------
wait函数的作用是清楚子进程的PCB,当子进程还没有结束父进程就已经运行到wait的话就会阻塞