设为首页 加入收藏

TOP

多进程编程(六)
2012-08-26 13:53:26 】 浏览:22887
Tags:进程 编程
bsp;          -1.同时stat_loc返回子进程的返回值.
        例子:/*父进程*/
             if (fork()>0) {
                 wait((int *)0);
                 /*父进程等待子进程的返回*/
             }
             else {
                 /*子进程处理过程*/
                 exit(0);
             }
    7.waitpid()
        功能:等待指定进程号的子进程的返回并修改状态
        语法:#include <sys/types.h>
             #include <sys/wait.h>
             pid_t waitpid(pid,stat_loc,options)
             pid_t pid;
             int *stat_loc,options;
        说明:当pid等于-1,options等于0时,该系统调用等同于wait().否则该
             系统调用的行为由参数pid和options决定.
             pid指定了一组父进程要求知道其状态的子进程:
                -1:要求知道任何一个子进程的返回状态.
                >0:要求知道进程号为pid值的子进程的状态.
                <-1:要求知道进程组号为pid的绝对值的子进程的状态.
             options参数为以比特方式表示的标志以或运算组成的位图,每个
             标志以字节中某个比特置1表示:
               WUNTRACED:报告任何未知而又已停止运行的指定进程号的子进
                   程的状态.该子进程的状态自停止运行时起就没有被报告
                   过.
               WCONTINUED:报告任何继续运行的指定进程号的子进程的状态,
                   该子进程的状态自继续运行起就没有被报告过.
               WHOHANG:若调用本系统调用时,指定进程号的子进程的状态目
                   前并不是立即有效的(即可被立即读取的),调用进程并被
                   暂停执行.
               WNOWAIT:保持将其状态设置在stat_loc的进程在可等待状态.
                   该进程将等待直到下次被要求其返回状态值.
        返回值:等待到一个子进程返回时,返回值为该子进程号,否则返回值为
               -1.同时stat_loc返回子进程的返回值.
        例子:pid_t pid;
             int stat_loc;
             /*父进程*/
             if ((pid=fork())>0) {
                 waitpid(pid,&stat_loc,0);
                 /*父进程等待进程号为pid的子进程的返回*/
             }
             else {
                 /*子进程的处理过程*/
                 exit(1);
          &nbs
首页 上一页 3 4 5 6 7 8 9 下一页 尾页 6/25/25
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Core Dump?! 下一篇字符串转换篇

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目