void main()
{
pid_t pid;
char message;
int n;
int exit_code;
printf(“fork program starting\n”);
pid=fork();
switch(pid)
{
case -1:
perror(“fork failed”);
exit(1);
case 0:
message=“this is the child”;
n=5;
exit_code=37;
break;
default:
message=“this is the parent”;
n=3;
exit_code=0;
break;
}
for(;n>0;n–)
{
puts(message);
sleep(1);
}
if(pid!=0)
{
int stat_val;
pid_t child_pid;
child_pid=wait(&stat_val);
printf(“child has finished:pid=%d\n”,child_pid);
printf("%d\n",stat_val);
/
wait函数
最新推荐文章于 2021-05-13 12:39:20 发布
本文通过示例代码介绍了Linux C程序设计中wait函数的使用,展示了其在父进程等待子进程结束时的角色。同时,文章探讨了内核级别的wait系统调用实现,提到了消息队列作为实现方式,并引用了orange's操作系统书籍中的相关代码,为读者揭示wait函数返回值的含义。最后,鼓励读者深入学习系统调用机制。
摘要由CSDN通过智能技术生成