Linux怎么创建两个进程
时间: 2024-05-07 19:17:10 浏览: 91
Linux创建进程
5星 · 资源好评率100%
Linux可以使用fork()系统调用来创建子进程。fork()会将当前进程复制一份,生成一个新的子进程。新的子进程与原进程完全一致,包括进程的代码、数据、堆栈等。在新的子进程中,fork()返回值为0,表示该进程是子进程;在原进程中,fork()返回值为子进程的进程ID,表示该进程是父进程。
以下是一个创建两个进程的例子:
```
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main()
{
pid_t pid1, pid2;
pid1 = fork(); // 创建第一个子进程
if (pid1 < 0)
{
printf("fork error\n");
exit(1);
}
else if (pid1 == 0) // 子进程1
{
// do something
printf("Child process 1\n");
exit(0);
}
else // 父进程
{
pid2 = fork(); // 创建第二个子进程
if (pid2 < 0)
{
printf("fork error\n");
exit(1);
}
else if (pid2 == 0) // 子进程2
{
// do something
printf("Child process 2\n");
exit(0);
}
else // 父进程
{
printf("Parent process\n");
// wait for child process to exit
waitpid(pid1, NULL, 0);
waitpid(pid2, NULL, 0);
}
}
return 0;
}
```
这个例子中,父进程创建了两个子进程,分别执行不同的任务。等待两个子进程执行完毕后,父进程才会继续执行。
阅读全文