父进程如何知道它启动的子进程的进程ID?

父进程如何知道它启动的子进程的进程ID?

题目是我最近考试时的一道题。后来我在幻灯片中找不到答案(也在网上也找不到)。在课程幻灯片中,仅描述了父进程保存其子进程的 PID,但没有描述如何它接待了他们。

我的猜测是,ID 的传输是直接使用 fork 命令完成的,或者之后通过信号完成的。

答案1

我的猜测是,ID 的传输是直接使用 fork 命令完成的,或者之后通过信号完成的。

前者:fork()将子进程 PID 返回给父进程。看为什么 fork 有时返回父级,有时返回子级?欲了解更多详细信息(以及man 2 fork当然,还有POSIX 定义)。

进程可以使用以下命令找到其父进程的 PIDgetppid()系统调用(也定义通过 POSIX)。

相关内容