2 u013610563 u013610563 于 2016.03.07 14:56 提问

C语言中fork()系统进程的问题

我在代码中使用fork()函数产生了一个子进程B,原来父进程记为A,这两个进程会同时进行互不干扰没错,如果我在B进程中使用exec()系统函数去执行另一个程序,这个进程叫做C,那么exec()函数正常运行会结束B进程,而执行C进程,但是我想问一下如何控制C进程结束后再让A进程继续执行呢?
如果是wait(),或者waitpid()函数,如何写呢,就是对于这两个函数,调用的地方在哪里,是父进程会停在那里,还是别的。
谢啦

3个回答

lx624909677
lx624909677   Ds   Rxr 2016.03.07 15:42

在A进程中起一个线程去判断C进程是否存在,如果存在就在那wait

oyljerry
oyljerry   Ds   Rxr 2016.03.07 16:12

直接A进程中fork完了以后,就wait,然后C进程中来设置信号通知

zuishikonghuan
zuishikonghuan   2016.03.07 22:43

在A中fork完了直接waitpid即可。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!