资讯专栏INFORMATION COLUMN

linux下的进程(2)

cheng10 / 2279人阅读

摘要:下的函数孤儿进程孤儿进程是父进程结束,还存在子进程没有结束,那么这个子进程则成为孤儿进程,孤儿进程自动将进程作为自己的父进程。这种进程成为僵尸进程。下面的是结果从结果可以看出在子进程终止前,使其调用者阻塞。

linux下的wait()函数

孤儿进程
孤儿进程是父进程结束,还存在子进程没有结束,那么这个子进程则成为孤儿进程,孤儿进程自动将init进程作为自己的父进程。

僵尸进程
子进程终止时,它与父进程之间的关系还会保存,直到父进程也正常调用wait()函数才结束。当父进程没有调用wait或waitpid函数时获取子进程的状态信息,那么子进程的进程描述符依然保存在系统中。这种进程成为僵尸进程。

下面是wait()函数和waitpid()函数的原型

pid_t wait(int *statloc);
pid_t waitpid(pid_t pid, int *statloc,int options);

当执行成功的时候,返回进程ID。

#include 
#include 
#include    
#include 

int main(void)
{
    pid_t pid,childpid;
    
    if ((pid = fork()) > 0){
        printf("that is parent
");
        if((childpid=wait(&status))>0)
            printf("child is finished 
");
        for(int i=0;i<3;i++)
            printf("%d 
",i);
    }
    else if (pid == 0) {
        printf("that is child 
");
        for(int i=0;i<3;i++)
            printf("%d 
",i);    
    }
    else {
        printf("error");
    }
    exit(0);
}

下面的是结果

从结果可以看出在子进程终止前,wait使其调用者阻塞。而waitpid()函数则是可以等待某一个特定的进进程,并且它有若干个选项,可以控制它所等待的进程。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/9967.html

相关文章

  • linux下的进程(1)

    摘要:函数的原型这个函数的主要主要特色是返回两次值,子进程返回,父进程返回子进程。运行的结果如下当我们在那两个代码块加入循环时,就可以发现子进程和父进程,可以说时各自独立的,它们之间没有先后关系。 linux下创建新的进程进程时每一个系统下必不可少的一个部分。每一个进程都有一个非负证整数的唯一进程ID。进程ID标识符总是唯一的。一般在linux创建一个进程是同fork()函数的。 函数for...

    Jackwoo 评论0 收藏0
  • 全栈开发——Linux

    摘要:是由林纳斯托瓦兹起初开发的,由于源代码的开放性,现在已经衍生出了千上百种不同的系统。而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般。 一、Linux的简介1.Linux的概述Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境。Linux是由Linus Torvalds(林纳斯·托瓦兹)起初开发的,由于源代码的开放...

    plokmju88 评论0 收藏0
  • linux上定期执行命令、脚本(cron,crontab,anacron)

    摘要:用执行的任务适合于小时运行的机器,执行的任务会在设定好的时刻执行,当机器处于关机状态下并错过了任务执行的时间,任务就无法预期执行了。两个文件中每个用户名占一行,并且不允许出现空格。任务标识其目的是识别消息,日志文件和执行特殊操作。 人类把时间做了切割,想象一条笔直的线永远向前,本来这条直线上什么都没有,但是人类根据时间的长短(单位)在这条直线上做了密密麻麻的标记(世纪-年-月-日-时-...

    douzifly 评论0 收藏0
  • 初学linux指导(一)

    摘要:有个建议,一定要学一下,一定要学一下,一定要学一下,重要的事情说三遍。 首先,要学Linux编程,你得会用Linux,也就是得在命令行环境下生存下来。什么叫生存下来呢?就是我现在给你一台主机,键盘,显示器啥的,然后给你一个服务器版的Linux系统的光盘或者其他什么安装盘,你去把这台主机用起来。什么叫用起来呢?你平常用Windows电脑干啥,你现在还用这台电脑干啥。新建文件啊,查看文件,...

    zzzmh 评论0 收藏0
  • linux查看进程启动及运行时间

    摘要:查看进程启动时间及运行多长时间。用字符显示树状结构,表达程序间的相互关系。列出程序时,包括已中断的子程序资料。显示该用户下的所有进程,且显示各个命令的详细路径。 linux查看进程启动时间及运行多长时间。 ps -eo lstart 启动时间 ps -eo etime 运行多长时间. ps -eo pid,lstart,etime | grep 5176 用linux ps查询进程...

    mrcode 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<