当前位置:  开发笔记 > 编程语言 > 正文

wait的意思((int*)0)

如何解决《wait的意思((int*)0)》经验,为你挑选了1个好方法。

使用这样的等待函数的一个这样的程序是这样的:

#include 
#include 
int main() 
{ 
    int pid,fd[2]; int n; char line[20];        
    if(pipe(fd)<0) { 
        printf("Error creating pipe"); 
    } else { 
        pid=fork(); 
        if(pid<0) { 
            printf("Error while forking"); 
        } else { 
            if(pid>0) { 
                close(fd[0]); 
                write(fd[1],"Hello\n",6); 
                while(wait((int *)0)!=pid);
            } else { 
                close(fd[1]); 
                n=read(fd[0],line,20); 
                if(n<0) 
                printf("Error reading a file"); 
                write(1,line,n); 
            } 
        } 
    } 
    return 0; 
}   

strager.. 11

见男人等(2).

wait((int *)0)电话waitpid(-1, (int *)0, 0).手册页指出:

如果status不是NULL,则wait()和waitpid()将状态信息存储在它指向的int中.

这里status是NULL(0).因此,您的调用wait等待任何子进程中的状态更改,并且不返回状态.该调用仅检查特定子进程(pid在您的情况下)是否发生状态更改.



1> strager..:

见男人等(2).

wait((int *)0)电话waitpid(-1, (int *)0, 0).手册页指出:

如果status不是NULL,则wait()和waitpid()将状态信息存储在它指向的int中.

这里status是NULL(0).因此,您的调用wait等待任何子进程中的状态更改,并且不返回状态.该调用仅检查特定子进程(pid在您的情况下)是否发生状态更改.

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有