#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>
int main()
{
pid_t pid; //pid_t是一个typedef定义类型。 用它来表示进程id类型
pid = fork(); //创建子进程
if(pid<0) //创建失败
{
printf("Fork Failed");
}
else if(pid == 0) //创建成功,此时在子进程中
{
printf (" p: i am the parent process!!!\n");
printf("p:here is my pid:%d\n",getppid());
int a;
int b;
scanf("%d",&b);
printf("p: my child id:%d\n",getpid());
printf("p:I will now wait for my child to exit");
wait(NULL);
printf("c:i am the child process!!!\n");
printf("c:here is my pid: %d\n",getpid());
printf("c:my parent's pid is: %d\n",getppid());
printf("c:value of fork return is: %d\n",pid);
printf("c:sleep for 1 second.");
sleep(1);
printf("c:Enter an exit value :\n");
scanf("%d",&a);
printf("c:Goodbye!!\n");
printf("p: my child exit code: %d \n",a);
printf("Goodbye!!!!!\n");
}
/*else //创建成功,此时在父进程中
{
printf("儿子的id:%d\n",wait()); //清除子进程,并输出刚被创建的子进程ID
printf("爸爸的id:%d\n",getpid()); //输出父进程的ID
printf("爷爷的id:%d\n",getppid()); //输出父进程的父进程ID
} */
return 0;
}
ubuntu
最新推荐文章于 2024-10-16 10:13:45 发布