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

进程退出

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

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

相关推荐
Nick.Q5 小时前
vim插件的管理与离线安装
linux·编辑器·vim
J2虾虾6 小时前
Docker启动超时,吓得我一身汗
运维·docker·容器
一生只为赢6 小时前
通俗易懂:ARM指令的寻址方式(三)
运维·arm开发·数据结构·嵌入式实时数据库
运维行者_7 小时前
2026 技术升级,OpManager 新增 AI 网络拓扑与带宽预测功能
运维·网络·数据库·人工智能·安全·web安全·自动化
代码的奴隶(艾伦·耶格尔)7 小时前
Nginx
java·服务器·nginx
头发还没掉光光7 小时前
HTTP协议从基础到实战全解析
linux·服务器·网络·c++·网络协议·http
液态不合群7 小时前
Nginx多服务静态资源路径冲突解决方案
运维·nginx
小白同学_C7 小时前
Lab2-system calls && MIT6.1810操作系统工程【持续更新】
linux·c/c++·操作系统os
物理与数学7 小时前
linux内核 struct super_block
linux·linux内核
Getgit7 小时前
Linux 下查看 DNS 配置信息的常用命令详解
linux·运维·服务器·面试·maven