QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 775|回复: 4

关于函数wait的使用

[复制链接]
发表于 2003-9-18 23:08:31 | 显示全部楼层 |阅读模式
#include<process.h>
void command()
{
     int pid;
     
     if((pid=fork())<0)
        {
               printf("create child process error\n");
        }
     
     if(pid==0)
        {
             printf("\n\n");
             printf("execute child \n");
              exit(0);
   
         }
         wait((int *)0);
}


main()
{
    printf("paraent process\n);
    command();
}
输出结果是:
paraent process

execute child
paraent process
paraent process
execute child
paraent process
paraent process

我想知道wait起到什么作用,他是怎么执行的,请知道者解释一下
发表于 2003-9-19 01:20:45 | 显示全部楼层
我执行了一下,好像没出现你那么夸张的结果嘛

wait 函数挂起当前进程,直到有某个子进程退出为止。
回复

使用道具 举报

 楼主| 发表于 2003-9-19 01:27:57 | 显示全部楼层
这是一本书上的。
回复

使用道具 举报

发表于 2003-9-19 12:03:36 | 显示全部楼层
The  wait  function suspends execution of the current pro-cess until a child has exited, or until a signal is deliv-ered  whose  action is to terminate the current process or to call a  signal  handling  function.   If  a  child  has already  exited by the time of the call (a so-called "zom-bie" process), the function returns immediately.  Any sys- tem resources used by the child are freed.
回复

使用道具 举报

发表于 2003-9-21 21:24:53 | 显示全部楼层
[quote:f96ac632fe="文武12"]这是一本书上的。[/quote]

Read the _classic_ books. [APUE, UNP, etc.]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-15 00:19 , Processed in 0.076829 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表