【发布时间】:2013-11-18 03:29:51
【问题描述】:
“编写一个名为 program.c 的程序,它将创建总共 9 个进程,它们将自己标识为 process0、process1、process2、process3、process4、process5、process6、process7 和 process8。原始进程应该是进程0。”
当使用 fork 创建进程时,如何将我的进程标识为“processX”,只向子进程返回 0 的 PID,向父进程返回一些数字?我以为 PID 是标识符。
【问题讨论】:
-
PID 是进程的唯一标识符。通过“识别”,您的意图是什么,将其打印出来或存储在某处等?
-
我现在真的没有任何意图。我只是想理解赋值语句。如果获取进程身份的唯一方法是访问其 PID,我如何让进程将自己明确标识为“进程#”(0-8)?
-
如果您打算更改进程名称并希望子进程知道相同的名称,请将 PID 到进程名称映射存储在共享表中,并对子进程具有读取权限。如果您不打算更改进程名称,请在执行期间将其作为参数传递。