C语言用进程相关API 函数编程一个程序使之产生一个进程扇父进程产生一系列子进程每个子进程打印自己的 PID 然后退出。要求父进程最后打印 PID。
以下是一个用C语言编写的程序,使用进程相关的API函数实现进程扇的功能。在程序中,父进程会产生一系列子进程,每个子进程打印自己的PID,然后退出。最后,父进程会打印自己的PID。
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
int main() {
// 创建子进程的数量
int num_processes = 10;
// 创建进程扇
for (int i = 0; i < num_processes; i++) {
pid_t pid = fork();
// 子进程
if (pid == 0) {
printf("Child process PID: %d\n", getpid());
return 0;
}
// 父进程
else if (pid > 0) {
// 等待子进程退出
wait(NULL);
}
// 创建进程失败
else {
printf("Failed to create child process\n");
return 1;
}
}
// 父进程打印自己的PID
printf("Parent process PID: %d\n", getpid());
return 0;
}
在上述程序中,我们使用了fork()函数来创建子进程。在每次循环中,父进程会调用fork()函数来创建一个子进程,然后等待子进程退出。子进程会打印自己的PID,并通过return语句退出。最后,父进程会打印自己的PID。
在程序中,我们设置了num_processes变量来指定要创建的子进程的数量。你可以根据需要来修改这个变量的值
原文地址: https://www.cveoy.top/t/topic/iQHI 著作权归作者所有。请勿转载和采集!