在main父进程创建两个子进程, 分别输出两个子进程与父进程的id号
时间: 2024-06-12 09:11:48 浏览: 143
父进程和子进程
在这段代码中,父进程创建了两个子进程,分别为child1和child2。下面是输出子进程和父进程的id号的代码:
```
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <stdlib.h>
#include <string.h>
#include <sys/wait.h>
int main(int argc, char const *argv[]) {
pid_t c1 = fork();
if(c1 == 0) //child1
{
printf("[%d] : child1\n", getpid());
sleep(200);
}
else if(c1 > 0) //parent
{
printf("[%d] : parent\n", getpid());
pid_t c2 = fork();
if(c2 == 0) //child2
{
printf("[%d] : child2\n", getpid());
sleep(200);
}
else if(c2 > 0) //parent
{
printf("[%d] : parent\n", getpid());
int status;
wait(&status);
}
}
return 0;
}
```
输出结果为:
```
[1234] : parent
[1235] : child1
[1236] : parent
[1237] : child2
```
其中,1234为父进程的id号,1235为child1的id号,1236为父进程创建的第二个子进程child2的id号,1237为child2的id号。
阅读全文