linux如何用C语言创建两个子进程
时间: 2023-12-10 19:37:11 浏览: 105
Linux中使用C语言的fork()函数创建子进程的实例教程
在 Linux 中,可以使用 `fork()` 系统调用来创建子进程。下面是使用 C 语言创建两个子进程的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main() {
pid_t pid1, pid2;
pid1 = fork(); // 创建第一个子进程
if (pid1 < 0) { // 错误处理
fprintf(stderr, "Fork failed\n");
exit(1);
} else if (pid1 == 0) { // 子进程1代码
printf("This is child process 1 (PID = %d)\n", getpid());
exit(0);
} else { // 父进程代码
pid2 = fork(); // 创建第二个子进程
if (pid2 < 0) { // 错误处理
fprintf(stderr, "Fork failed\n");
exit(1);
} else if (pid2 == 0) { // 子进程2代码
printf("This is child process 2 (PID = %d)\n", getpid());
exit(0);
} else { // 父进程代码
printf("This is parent process (PID = %d)\n", getpid());
wait(NULL); // 等待子进程结束
wait(NULL); // 等待子进程结束
printf("Child processes finished!\n");
exit(0);
}
}
return 0;
}
```
这个程序会创建两个子进程,并在每个子进程中打印出它们的 PID。父进程会等待两个子进程结束后退出。注意在父进程中使用了 `wait()` 函数来等待子进程结束。
阅读全文