Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4842556
  • 博文数量: 930
  • 博客积分: 12070
  • 博客等级: 上将
  • 技术积分: 11448
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-15 16:57
文章分类

全部博文(930)

文章存档

2011年(60)

2010年(220)

2009年(371)

2008年(279)

分类: LINUX

2009-02-24 10:12:09

 功能  等待子进程中断或结束
 原型  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()例差不多)。

阅读(953) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~