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

进程退出

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

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

相关推荐
不会C语言的男孩11 分钟前
TCP通信可视化工具,含下载地址
服务器·网络·安全
凉、介28 分钟前
Linux 设备驱动匹配机制
linux·笔记·单片机·学习·操作系统·嵌入式
卵男(章鱼)34 分钟前
第4章:软件架构与SOA
linux·车载系统·汽车
玖玥拾1 小时前
C# 语言进阶(十三)网络 DLL 库分层设计
服务器·开发语言·网络·网络协议·c#
是摆烂第一名呀1 小时前
【RK3506】RGB屏幕与背光调试记录
linux·arm开发·驱动开发·嵌入式硬件
qetfw1 小时前
CentOS 7 搭建 DNS 主从服务
linux·运维·centos·dns·bind
柠石榴1 小时前
远程连接校内服务器 ssh
运维·服务器·ssh
极客先躯1 小时前
高级java每日一道面试题-2026年04月04日-实战篇[Docker]-如何排查容器存储挂载失败的问题?
java·运维·docker·容器·高级面试
JustNow_Man2 小时前
【Claude Code】 中给 Python + XML 项目建立可靠验证体系
xml·linux·python