• wait3和wait4函数(转)


    wait3和wait4函数除了可以获取子进程状态转变信息外,还可以获得子进程的资源使用信息。

        pid_t wait3 ( int *status, int option, struct rusage *ru );

        pid_t wait4 ( pid_t pid, int *status, int option, struct rusage *ru );

        option的可选值有:WNOHANG、WCONTINUED、WUNTRACED。

        wait3等待所有的子进程;wait4可以像waitpid一样指定要等待的子进程:pid>0表示子进程ID;pid=0表示当前进程组中的子进程;pid=-1表示等待所有子进程;pid<-1表示进程组ID为pid绝对值的子进程。

        通过ru指针可以返回子进程的资源使用情况。

        struct rusage {
                    struct timeval ru_utime;
                    struct timeval ru_stime;
                    long   ru_maxrss;       
                    long   ru_ixrss;        
                    long   ru_idrss;        
                    long   ru_isrss;        
                    long   ru_minflt;       
                    long   ru_majflt;       
                    long   ru_nswap;        
                    long   ru_inblock;      

                    long   ru_oublock;      
                    long   ru_msgsnd;       
                    long   ru_msgrcv;       
                    long   ru_nsignals;     
                    long   ru_nvcsw;        
                    long   ru_nivcsw;       
                };

        也可以通过getrusage函数获取进程资源使用情况。

        int getrusage ( int who, struct rusage *ru );

        who可取RUSAGE_SELF、RUSAGE_CHILDREN,分别获取当前进程的资源使用情况和所有已终止且被父进程获取其终止状态的所有子进程的资源使用总情况。

  • 相关阅读:
    视频高清直播RTMP视频推流组件EasyRTMP-IOS版如何使用wchar_t*类型参数?
    设计模式
    算法学习【第10篇】:算法之动态规划问题
    算法学习【第9篇】:算法之斐波那契数列
    算法学习【第8篇】:贪心算法找零问题
    算法学习【第7篇】:算法之迷宫问题
    算法学习【第6篇】:算法之数据结构
    算法学习【第5篇】:常用排序算法(*******)
    算法学习【第4篇】:算法之---堆的简单介绍
    算法学习【第3篇】:树和二叉树简介
  • 原文地址:https://www.cnblogs.com/jikexianfeng/p/6357293.html
Copyright © 2020-2023  润新知