Chinaunix首页 | 论坛 | 博客
  • 博客访问: 952256
  • 博文数量: 113
  • 博客积分: 7235
  • 博客等级: 少将
  • 技术积分: 2101
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-14 11:24
文章分类

全部博文(113)

文章存档

2013年(7)

2012年(5)

2011年(6)

2010年(8)

2009年(15)

2008年(72)

分类: LINUX

2008-07-14 12:11:50

 功能  等待子进程中断或结束
 原型  Pid_t wait(int *status)
 传入值  status子进程状态
 返回值  成功返回子进程的进程号,否则返回-1
 注  wait()会暂停目前进程的执行,直到有信号来到或子进程终止

例:

#include

#include

#include

#include

int main()

{

   pid_t child;

   int i;

   child=fork();

  if(child<0)

  {

    perror("创建进程失败!");

    exit(1);

  }

  else if(child==0)

  {

     printf("这是子进程,进程号是:%d\n",getpid());

     for(i=0;i<100;i++)

       printf("这是子进程第%d此打印!\n",i+1);

    printf("子进程结束!");

  }

  else

  {

     printf("这是父进程,进程号是:%d\n",getppid());

     printf("父进程等待子进程结束...");

     wait(&child);

     printf("父进程结束!");

  }

}

注:wait()函数会阻塞父进程运行直到子进程正常结束。

5)waitpid()函数

头文件

#include

#include

功能 等待子进程中断或结束
原型 pid_t waitpid(pid_t pid,int *status,int options)
传入值

pid为子进程号     

status为子进程状态   

option可以为0、WNOHANG(如果没有任何已终止的子进程则马上返回,不予等待)或WUNTRACED(如果子进程进入暂停执行则马上返回,但终止状态不予理会)

返回值 成功返回子进程号,否则返回-1
此函数会暂停目前进程的执行,直到有信号来到或子进程终止

例:略(同wait()例差不多)。

阅读(969) | 评论(0) | 转发(0) |
0

上一篇:学习感想

下一篇:学习makefile感想

给主人留下些什么吧!~~