fork()循环创建n个进程
时间: 2023-11-29 22:04:59 浏览: 71
可以使用以下代码来循环创建n个进程:
```
#include <stdio.h>
#include <unistd.h>
int main()
{
int n = 5; // 创建5个进程
int i;
for(i = 0; i < n; i++)
{
pid_t pid = fork();
if(pid < 0) // fork()出错
{
printf("Failed to create process.\n");
return -1;
}
else if(pid == 0) // 子进程
{
printf("Child process %d is created.\n", i+1);
return 0;
}
else // 父进程
{
printf("Parent process creates child process %d with pid %d.\n", i+1, pid);
}
}
return 0;
}
```
该代码通过循环调用`fork()`函数来创建n个进程。每次调用`fork()`函数都会返回一个值,如果该值小于0,则表示创建进程失败;如果该值等于0,则表示当前进程是子进程,可以在子进程里面进行相应的处理;如果该值大于0,则表示当前进程是父进程,可以在父进程里面进行相应的处理。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)