zoukankan      html  css  js  c++  java
  • wait()系统调用分别演示在父子进程

    废话不多说开代码

    在父进程调用wait()

    #include<stdio.h>
    #include<unistd.h>
    #include<sys/wait.h>
    int main(int argc,char *argv[]){
    int rc=fork();
    if(rc==0){
    printf("i am child pid=%d
    ",(int)getpid());
    }else{
    
    int wc=wait(NULL);
    printf("i am father wc=%d",wc);
    
    }
    
    
    
    return 0;
    }
    
    
    
    [root@localhost codec5]# ./t5
    i am child pid=3243
    i am father wc=3243[root@localhost codec5]# cat t5.c

    在父进程调用  成功返回子进程的id号

    #include<stdio.h>
    #include<unistd.h>
    #include<sys/wait.h>
    int main(int argc,char *argv[]){
    /*int rc=fork();
    if(rc==0){
    printf("i am child pid=%d
    ",(int)getpid());
    }else{
    */
    int wc=wait(NULL);
    printf("i am father wc=%d",wc);
    
    
    
    
    
    return 0;
    }
    
    
    
    [root@localhost codec5]# ./t5
    i am father wc=-1

    在父进程调用 wait 失败返回 -1

    在子进程里调用wait()

    由于子进程并没有创建再创建子进程所以返回值是-1

    #include<stdio.h>
    #include<unistd.h>
    #include<sys/wait.h>
    int main(int argc,char *argv[]){
    int rc=fork();
    if(rc==0){
    int  wc=wait(NULL);
    printf("i am child pid=%d,wc=%d
    ",(int)getpid(),wc);
    }else{
    
    
    printf("i am father ");
    }
    
    
    
    
    return 0;
    }
    
    
    
    
    
    [root@localhost codec5]# ./t5
    
    i am father [root@localhost codec5]# i am child pid=3337,wc=-1
  • 相关阅读:
    listview 优化
    重要博客网址
    bottombar——Fragment
    视频播放,,今日头条样式
    databinding
    Picasso
    22222222
    202004leetcode刷题记录
    批量下载邮箱中指定日期范围的附件
    有雾环境下的目标检测
  • 原文地址:https://www.cnblogs.com/lhyzdd/p/13837150.html
Copyright © 2011-2022 走看看