我如何使用fork()编写ac代码来创建以下进程,我必须使用这些函数:wait(0),getpid()和getppid()来打印每个进程的id和父进程id你创造。
this is the the tree that I want to describe it
#include<sys/types.h>
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
int main()
{
printf("the process id %d" , getpid());
pid_t pid1,pid2,pid3;
pid1=fork();
pid2=fork();
pid3=fork();
if((pid2 == 0)&&(pid3 == 0))
{
if (pid1 !=0)
fork();
}
printf("the process id %d" , getpid());
return 0;
}
答案 0 :(得分:-2)
fork()
创建一个子线程。
int main ( ) {
fork();
printf("Current Process id: %d", getpid());
printf("Parent Process id: %d", getppid());
fork();
}
这将显示如何在linux中使用C处理线程的示例。
答案 1 :(得分:-2)
请,请查看此代码
#include<sys/types.h>
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
int main()
{
printf("the process id %d" , getpid());
pid_t pid1,pid2,pid3;
pid1=fork();
if (pid 1==0)
pid2=fork();
pid3=fork();
if((pid2 == 0)&&(pid3 == 0))
{
if (pid1 !=0)
fork();
}
printf("the process id %d" , getpid());
return 0;
}