进程退出、孤儿进程、僵尸进程

进程退出

子进程退出,有些资源需要父进程去释放

cpp 复制代码
/*
    #include <stdlib.h>
    void exit(int status);

    #include <unistd.h>
    void _exit(int status);

    status参数: 进程退出的一个状态信息。父进程回收资源的时候可以获取
*/

#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>

int main() {
    printf("hello\n");
    printf("world");
    //exit(0);
    _exit(0);
    return 0;
}

第一个printf带上了\n会自动做刷新IO缓冲区的操作,第二个没有\n就一直在缓冲区里面

调用标准C库的exit函数时,它会再做一次刷IO新缓冲区的操作,输出world

但是Linux的_exit函数就不会做这个操作,最后只输出hello

孤儿进程

父进程执行完毕,只有子进程在执行,然后子进程的ppid就是1 也就是init

僵尸进程

wait()和waitpid()是释放子进程的函数

相关推荐
广东大榕树信息科技有限公司几秒前
如何利用机房动环监控系统提升运维效率与安全性?
运维·网络·物联网·国产动环监控系统·动环监控系统
believe、悠闲2 分钟前
ubuntu各个版本官方镜像链接
linux·ubuntu
幺零九零零4 分钟前
Docker底层-Namespaces
运维·docker·容器
做一个码农都是奢望18 分钟前
高算linux平台如何安装gprmax
linux·运维·服务器
jerryinwuhan25 分钟前
Linux_shell_1229_2
linux
Ancelin安心26 分钟前
Windows搭建和使用vulhub的一些常用命令
linux·运维·服务器·网络安全·docker·容器·vulhub
大聪明-PLUS26 分钟前
Linux固件:简明扼要,用您自己的语言阐述
linux·嵌入式·arm·smarc
txzz888837 分钟前
CentOS-Stream-10 搭建NTP服务器(二)
linux·服务器·centos·ntp时间服务器·centos 10
HappRobot42 分钟前
OpenTelemetry和Jaeger、 SkyWalking的关系
linux·网络·skywalking
木卫二号Coding1 小时前
Linux-删除一级目录下子目录-github例子
linux·运维·github