对waitpid 的学习

简介:

上代码

学习网络上的文章,http://blog.sina.com.cn/s/blog_602a39250100xfxx.html  非常感谢

但是和我的环境有点不一样,我简单改了改程序:

复制代码
 
[root@localhost wait]# cat waittest.c
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <stdio.h>
#include<stdlib.h>
main()
{
    pid_t pc, pr; 
    pc=fork();
    if(pc<0)  
      printf("Error occured on forking.\n");
    else if(pc==0)
    {  
      sleep(4); 
      exit(0);
    }
    
    do
    {
       pr=waitpid(pc, NULL, WNOHANG); 
       if(pr==0)
       {   
          printf("No child exited\n");
          sleep(1);
       }
    }while(pr==0);
    
    if(pr==pc)
         printf("successfully release child %d\n", pr);
    else
         printf("some error occured\n");
}
[root@localhost wait]# 
复制代码

结束






本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/archive/2012/10/31/2747894.html,如需转载请自行联系原作者

目录
相关文章
|
2月前
【进程控制】超详细讲解wait和waitpid的原理(结合代码)
【进程控制】超详细讲解wait和waitpid的原理(结合代码)
|
2月前
|
算法 Unix Linux
Linux系统编程(vfork和fork)
Linux系统编程(vfork和fork)
48 0
|
8月前
|
程序员 Linux Shell
【CSAPP】进程控制 | 系统调用错误处理 | 进程状态 | 终止进程 | 进程创建 | 回收子进程 | 与子进程同步(wait/waitpid) | execve 接口
【CSAPP】进程控制 | 系统调用错误处理 | 进程状态 | 终止进程 | 进程创建 | 回收子进程 | 与子进程同步(wait/waitpid) | execve 接口
67 0
孤儿进程、僵尸进程和进程退出(通俗易懂)
孤儿进程、僵尸进程和进程退出(通俗易懂)
|
存储 编译器 调度
fork函数、进程退出、进程等待(2)
 return是一种更常见的退出进程方法。执行return n等同于执行exit(n),因为调用main的运行时函数会将main的返 回值当做 exit的参数。
130 0
|
缓存 Linux 调度
fork函数、进程退出、进程等待(1)
在linux中fork函数时非常重要的函数,它从已存在进程中创建一个新进程。新进程为子进程,而原进程为父进程。
150 0
|
Linux
wait() 函数和 waitpid() 函数
wait() 函数和 waitpid() 函数
629 0
wait() 函数和 waitpid() 函数
|
物联网 Linux 开发者
Waitpid 函数|学习笔记
快速学习 Waitpid 函数,“Waitpid 函数”,也是“等”。虽然功能和 “Wait” 相同,但是 “Waitpid” 实现的功能比 “Wait” 实现的功能更多。
131 0
Waitpid 函数|学习笔记
|
算法 物联网 Linux
Vfork|学习笔记
快速学习 Vfork
77 0
Vfork|学习笔记