C语言创建多个进程
时间: 2023-10-11 21:13:01 浏览: 100
在 C 语言中,可以使用 `fork()` 函数来创建子进程。`fork()` 函数会创建一个新的进程,该进程是调用进程的副本,新进程从调用进程的位置开始执行。下面是一个简单的示例代码,可以创建两个子进程并分别输出它们的进程 ID:
```c
#include <stdio.h>
#include <unistd.h>
void worker() {
printf("Child process ID: %d\n", getpid());
}
int main() {
pid_t pid1, pid2;
// 创建第一个子进程
pid1 = fork();
if (pid1 == 0) {
// 子进程1
worker();
return 0;
} else {
// 创建第二个子进程
pid2 = fork();
if (pid2 == 0) {
// 子进程2
worker();
return 0;
} else {
// 等待两个子进程结束
waitpid(pid1, NULL, 0);
waitpid(pid2, NULL, 0);
return 0;
}
}
}
```
在上面的代码中,`worker` 函数是子进程要执行的任务,`getpid()` 可以获取当前进程的进程 ID。使用 `fork()` 函数创建子进程,并分别判断父进程和子进程的执行路径。执行上述代码,可以看到两个子进程的进程 ID 分别输出。
阅读全文