我有这段代码,它的目标是创建N个子进程并打印出每个PID和进程号。分叉后退出子进程
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
void childProcess(int num)
{
pid_t pid = fork();
printf("Hello! I am process no. %d! my PID is %d!\n", num, pid);
}
int main()
{
int i = 0;
for(i = 1; i <= 5; i++)
{
childProcess(i);
_exit(3);
}
exit(0);
}
但是尝试多种方法后:e.g退出VS _exit,递归的子进程,PID = wait()的,我仍然无法顺利建立仅5进程。有了这段代码到目前为止我的输出是
Hello! I am process no. 1! my PID is 96196!
Hello! I am process no. 1! my PID is 0!
我不知道如何正确退出子进程。没有退出代码创建N!流程。
感谢你的帮助,
当你说你要创建“N子进程”,什么是“N”?它是for循环中的迭代器值吗? – northsideknight