c语言如何一个进程创建俩子进程
时间: 2024-10-16 11:12:18 浏览: 34
C语言实现查看进程是否存在的方法示例
在C语言中,可以使用`fork()`系统调用来创建子进程。下面是一个简单的例子,展示如何创建两个子进程:
```c
#include <stdio.h>
#include <unistd.h>
#define NUM_CHILDREN 2
int main() {
pid_t parent_pid = getpid(); // 获取当前进程PID
int i;
for (i = 0; i < NUM_CHILDREN; i++) {
pid_t child_pid = fork(); // 创建子进程
if (child_pid == 0) { // 子进程
printf("I am child %d, parent PID is %d\n", i+1, parent_pid);
exit(0); // 结束子进程
} else if (child_pid > 0) { // 父进程
printf("Parent process created child %d with PID %d\n", i+1, child_pid);
} else {
printf("Fork failed with error %d\n", child_pid);
return -1;
}
}
return 0;
}
```
在这个例子中,`main`函数会循环`NUM_CHILDREN`次,每次调用`fork()`。如果返回值大于0,说明这是一个新的子进程;等于0表示这是原进程(因为子进程ID通常小于0),它会直接退出并显示消息。负数则代表fork失败。
阅读全文