先看代码:
书中分析:
• 调用f o r k创建一个新进程。新进程是调用进程的复制品,故称调用进程为父进程,新创 建的进程为子进程。f o r k对父进程返回新子进程的非负进程I D,对子进程则返回0。因为f o r k创 建一新进程,所以说它被调用一次(由父进程),但返回两次(在父进程中和在子进程中)。
但是测试时通过子进程中execlp(buf, buf, (char *)0)运行某程序后会阻塞?因为如果正常执行的话,总是要调用execlp后面的printf输出吧。
父程序阻塞应该发生在waitpid时,想知道父程序/子进程/waitpid之间怎么运转的
本文通过一个具体的代码示例,深入探讨了fork、execlp及waitpid等系统调用的功能和使用方法,并针对子进程执行外部程序时可能出现的阻塞现象进行了分析。
1502

被折叠的 条评论
为什么被折叠?



