注册 | 登录
收藏 | 帮助
热门文章
编辑推荐
相关文章  
防病毒必务宝典—计算机病毒专杀
高手支招 巧妙利用系统进程手工杀
清除不明进程msser 珊瑚QQ病毒防
巧妙利用系统进程拒绝病毒侵袭
杀毒全接触:关于mcafee的进程了
ORACLE实例的进程结构和内存结构
存储过程编写经验和优化措施
Windows 2000 常用系统进程列表
Windows 2000进程细述
详细分析进程 手工搞定可疑病毒
您现在的位置: 顶尖设计 >> IT学院 >> 编程开发 >> C >> 文章正文
多进程编程
作者:佚名  来源:不详  点击:  更新:2006-12-19
简介:
    6.wait()
        功能:等待一个子进程返回并修改状态
        语法:#include 
             #include 
             pid_t wait(stat_loc)
             int *stat_loc;
        说明:允许调用进程取得子进程的状态信息.调用进程将会挂起直到其
             一个子进程终止.
        返回值:等待到一个子进程返回时,返回值为该子进程号,否则返回值为
             -1.同时stat_loc返回子进程的返回值.
        例子:/*父进程*/
             if (fork()>0) {
                 wait((int *)0);
                 /*父进程等待子进程的返回*/
             }
             else {
                 /*子进程处理过程*/
                 exit(0);
             }
    7.waitpid()
        功能:等待指定进程号的子进程的返回并修改状态
        语法:#include 
             #include 
             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);
             }
             /*父进程*/
             printf("stat_loc is [%d]\n",stat_loc);
             /*字符串"stat_loc is [1]"将被打印出来*/
    8.setpgrp()
        功能:设置进程组号和会话号.
        语法:#include 
             pid_t setpgrp()
        说明:若调用进程不是会话首进程.将进程组号和会话号都设置为与它
             的进程号相等.并释放调用进程的控制终端.
        返回值:调用成功后,返回新的进程组号.
        例子:/*父进程处理*/
             if (fork()>0) {
                 /*父进程处理*/
             }
             else {
                 setpgrp();
                 /*子进程的进程组号已修改成与它的进程号相同*/
                 exit(0);
             }
    9.exit()
        功能:终止进程.
        语法:#include 
             void exit(status)
             int status;
        说明:调用进程被该系统调用终止.引起附加的处理在进程被终止前全
             部结束.
        返回值:无
    10.signal()
        功能:信号管理功能
        语法:#include 
             void (*signal(sig,disp))(int)
             int sig;
             void (*disp)(int);

             void (*sigset(sig,disp))(int)
             int sig;
             void (*disp)(int);

             int sighold(sig)
             int sig;

             int sigrelse(sig)
             int sig;

             int sigignore(sig)
             int sig;

             int sigpause(sig)
    &n

上一页  [1] [2] [3] [4] [5] [6] 下一页






  • 上一篇文章:
  • 下一篇文章:
  • 分享此文:该页面添加到 Mister Wong 添加到雅虎Yahoo!收藏 Add to:Del.icio.us Post to Furl Digg this 添加到Google书签 reddit spurl blogmarks 365Key 评论  收藏  分享  打印
     我来说两句
    姓名:       验证码:   
    主页: 
    评分: 1分 2分 3分 4分 5分
    本频道近期热评文章:
      关于我们 | 联系我们 | 站点地图 | 广告投放 | 友情链接 | 在线留言 | 版权申明
    版权所有 © 2004-2007 顶尖设计(bobd.cn)
    未经授权禁止转载,摘编,复制本站内容或建立镜像. 沪ICP备07504942号 
    网络110
    报警服务