fork()循环创建3个进程,每个进程做不同的事情
时间: 2024-03-11 19:47:48 浏览: 110
fork创建多个子进程
4星 · 用户满意度95%
好的,我可以回答这个问题。在C语言中,我们可以使用fork()函数来创建子进程。在循环中,我们可以调用fork()函数三次,每次调用都会创建一个新的子进程,这样就可以得到三个子进程。
每个子进程可以做不同的事情。例如,第一个子进程可以执行一个命令,第二个子进程可以打开一个文件,第三个子进程可以发送一个网络请求。以下是一个示例代码:
```
#include <stdio.h>
#include <unistd.h>
int main() {
int i;
for (i = 0; i < 3; i++) {
pid_t pid = fork(); // 创建子进程
if (pid == 0) { // 子进程
if (i == 0) {
// 第一个子进程执行一个命令
system("ls -l");
} else if (i == 1) {
// 第二个子进程打开一个文件
FILE *fp = fopen("file.txt", "r");
if (fp != NULL) {
printf("File opened successfully!\n");
fclose(fp);
} else {
printf("Error opening file!\n");
}
} else if (i == 2) {
// 第三个子进程发送一个网络请求
// 你可以在这里使用网络编程库来发送请求
printf("Network request sent!\n");
}
return 0; // 子进程结束
}
}
// 父进程等待子进程结束
for (i = 0; i < 3; i++) {
wait(NULL);
}
return 0; // 程序结束
}
```
在上面的代码中,我们使用了system()函数来执行一个命令,使用了fopen()函数来打开一个文件。你可以根据你的需求修改这些代码,让每个子进程做不同的事情。
阅读全文