我必须创建四个进程,每个儿子必须创建一个儿子并等待它完成。
PROCESS 0 --> PROCESS 1 --> PROCESS 2 --> PROCESS 3 --> PROCESS 4
怎么做?到目前为止,我已尝试过以下内容:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <errno.h>
#include <fcntl.h>
#define NUM_PROC 5
int main (void)
{
int pid;
int i;
int status;
for (i=0; i < NUM_PROC; i++)
{
if ((pid=fork()) <0 )
{
printf("Error in forking\n");
exit(EXIT_FAILURE);
} else if (pid ==0) {
printf("Sono: %d, mio padre e: %d\n", getpid(), getppid());
pid = fork();
}
else {
printf("Sono: %d, mio padre e: %d\n", getpid(), getppid());
wait( &status);
}
}
exit(EXIT_SUCCESS);
}
答案 0 :(得分:1)
主程序在循环中创建一个新的子进程,然后运行与父进程相同的循环并创建更多的子进程。
使用.accept(MediaType.APPLICATION_XML)
循环并推广for
进程:
N