创建流程生成器

标签 c

我有一个进程(nameprocess.c)可以制作一些东西。

我需要创建另一个进程(nameprocess-generator.c),它继续生成进程nameprocess.c,直到倒计时到达0 code> 或一会儿到达 0

我必须使用 execvfork 吗?

最佳答案

两者都用。单独使用 execv() 只会替换正在运行的 与另一个进程一起处理。

首先使用fork()。这将创建正在运行的进程的克隆。你 现在有两个进程运行相同的代码。你怎么告诉他们 分开?通过返回值。原始进程(“父进程”)得到一个 新进程 ID (pid) 和新进程 ID (“child”) 的返回值 返回值为 0。

因此,原始进程继续执行任何操作,而新进程则调用 execv 函数之一,用不同的进程替换自身。

您可以在我的旧答案中看到一些使用 fork() 的示例代码, here .

关于创建流程生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34692536/

相关文章:

c - 在C中创建while循环的问题

c - 没有语法错误吗?应该 printf ("one" ", two and " "%s.\n", "three");是有效代码?

在另一个字符串输入函数创建幻像输入后调用 scanf()

c - 尝试制作一个简单的 Makefile 失败

c - 如何编写一个创建空队列的c函数?

c - 如何返回仅包含偶数/奇数的数组并删除不必要的单元格?

c - Linux C 编码中的 Fork() 命令

c - C宏中的#x是什么意思?

C 对转换指针的相等运算符

c - 在 C 中返回数组和指针?