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

进程退出

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

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()是释放子进程的函数

相关推荐
saynaihe11 分钟前
2025吐槽季第一弹---腾讯云EO边缘安全加速平台服务
运维·安全·云计算·腾讯云
@#---19 分钟前
删除驱动精灵的详细过程
运维·服务器
boy快快长大27 分钟前
【Elasticsearch】同一台服务器部署集群
服务器·elasticsearch·jenkins
likeyou~coucou39 分钟前
自动化之ansible(二)
运维·自动化·ansible
小红帽2.039 分钟前
客服系统自动化方案:揭秘全渠道智能服务解决方案 vx: haotsh
运维·自动化
reset20211 小时前
ubuntu离线安装ollama
linux·ubuntu·ollama
放氮气的蜗牛1 小时前
Linux命令终极指南:从入门到精通掌握150+核心指令
linux·运维·服务器
网络安全King1 小时前
devops 工具 网络安全
运维·web安全·devops
梁萌1 小时前
04-DevOps-安装并初始化Jenkins
运维·jenkins·devops
DC_BLOG1 小时前
Linux-Ansible模块进阶
linux·运维·服务器·ansible