C语言编程产生一个进程扇即一个父进程产生一系列子进程要求每个子进程输出自己的PID后退出父进程等所有子进程都退出之后也输出自己的PID然后退出。
以下是一个使用C语言编写的程序,实现了进程扇的功能:
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
int main() {
int num_processes = 5; // 子进程数量
pid_t pid;
printf("父进程的PID:%d\n", getpid());
// 创建子进程
for (int i = 0; i < num_processes; i++) {
pid = fork();
if (pid < 0) {
// 创建子进程失败
printf("创建子进程失败\n");
return 1;
} else if (pid == 0) {
// 子进程
printf("子进程的PID:%d\n", getpid());
return 0;
}
}
// 等待所有子进程退出
for (int i = 0; i < num_processes; i++) {
wait(NULL);
}
// 所有子进程都退出后,父进程输出自己的PID后退出
printf("父进程的PID:%d\n", getpid());
return 0;
}
该程序首先输出父进程的PID,然后使用fork()函数创建了一系列子进程。每个子进程在创建后输出自己的PID后即退出,而父进程等待所有子进程都退出后,再输出自己的PID后退出
原文地址: http://www.cveoy.top/t/topic/iMnP 著作权归作者所有。请勿转载和采集!