use*_*690 4 c unix openbsd fork freebsd
我正在开发一个需要在 unix 中实现 fork() 的项目。我读过 freeBSD 和 openBSD 源代码,但确实很难理解。有人可以解释一下返回两次的概念吗?我知道一个返回是子进程的 pid,它返回到父进程,另一个返回为零,它返回到子进程。但我无法理解如何实现返回两次的概念......我怎样才能返回两次?预先感谢大家。
Bor*_*lid 5
当您调用 时fork,它会返回“两次”,因为 fork 会生成两个进程,每个进程都会返回。
fork
因此,如果您正在实施fork,则必须创建第二个进程而不结束第一个进程。那么两次返回行为就会自然发生:两个不同的进程中的每一个都将继续执行,只是它们返回的值不同(子进程给出零,父进程给出子进程的 PID)。
归档时间:
13 年,9 月 前
查看次数:
3251 次
最近记录:
11 年,4 月 前