我有一个流程(nameprocess.c
)可以制作一些东西。
我需要创建另一个流程(nameprocess-generator.c
),继续生成流程nameprocess.c
,直到倒计时到达0
或一段时间到达0
。
我是否必须使用execv
或fork
?
答案 0 :(得分:1)
你们两个都使用。单独使用execv()
将只替换正在运行的
与另一个进程。
首先使用fork()
。这将创建正在运行的进程的克隆。您
现在有两个进程运行相同的代码。你怎么告诉他们的
分开?按返回值。原始进程(“父”)得到一个
返回新进程ID(pid
)和新进程ID(“child”)的值
获取返回值0。
因此,原始进程会继续执行任何操作,而新进程会调用
其中一个execv
函数用不同的进程替换自己。
您可以在我的旧答案中看到一些使用fork()
的示例代码,
here