如何在main父进程创建两个子进程
时间: 2024-09-28 09:12:25 浏览: 42
在Unix/Linux系统下,你可以使用`fork()`函数创建子进程。如果你是在C语言环境中,可以参考下面的例子:
```c
#include <stdio.h>
#include <unistd.h>
int main() {
// 创建第一个子进程
pid_t pid1 = fork();
if (pid1 == 0) { // 子进程
printf("This is child process 1.\n");
exit(0); // 父子进程间通信结束后子进程退出
} else if (pid1 > 0) { // 父进程
printf("Parent process, child process 1 has PID %d\n", pid1);
} else { // fork失败
perror("Fork failed");
return -1;
}
// 创建第二个子进程
pid_t pid2 = fork();
if (pid2 == 0) { // 另一个子进程
printf("This is child process 2.\n");
exit(0); // 同样,退出当前进程
} else if (pid2 > 0) { // 父进程
printf("Parent process, child process 2 has PID %d\n", pid2);
} else { // fork失败
perror("Fork failed");
return -1;
}
wait(NULL); // 等待任意一个子进程结束
return 0; // 程序正常结束
}
```
这个程序首先会创建两个子进程,每个子进程中打印一条消息并立即退出。父进程则分别记录两个子进程的PID,并等待其中一个子进程结束后继续执行。
阅读全文