返回信息流资料说exec()系列函数执行成功不会返回,一般放在fork()出来的子进程里,那若父进程中需要等待子进程结束才执行后续的操作,waitpid(pid, &status, 0);父进程会永远停在这里吗?
这是一条镜像帖。来源:北邮人论坛 / cpp / #91294同步于 2016/4/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
fork()和exec()使用问题
mandy4321
2016/4/26镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
子进程 exec 退出之后 waitpid 返回。
楼主可以 man 3 exec 再写个程序试一下。
【 在 mandy4321 的大作中提到: 】
: 资料说exec()系列函数执行成功不会返回,一般放在fork()出来的子进程里,那若父进程中需要等待子进程结束才执行后续的操作,waitpid(pid, &status, 0);父进程会永远停在这里吗?
嗯,就是说exec虽然执行成功不会返回,但是会退出,退出的话就相当于子进程结束?
【 在 Vampire 的大作中提到: 】
: 子进程 exec 退出之后 waitpid 返回。
: 楼主可以 man 3 exec 再写个程序试一下。
:
是的,子进程还在,但是它的内存已经换为你 exec 的进程了。
【 在 mandy4321 的大作中提到: 】
: 嗯,就是说exec虽然执行成功不会返回,但是会退出,退出的话就相当于子进程结束?