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

进程退出

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

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

相关推荐
lllsure3 分钟前
【Docker】存储卷
运维·docker·容器
wheeldown8 分钟前
【Linux】 存储分级的秘密
linux·运维·服务器
不做菜鸟的网工18 分钟前
Headscale 的部署方法和使用教程
运维
天天进步201524 分钟前
掌握React状态管理:Redux Toolkit vs Zustand vs Context API
linux·运维·react.js
艾醒(AiXing-w)41 分钟前
探索大语言模型(LLM):Ollama快速安装部署及使用(含Linux环境下离线安装)
linux·人工智能·语言模型
垚垚领先44 分钟前
Kdump 文档 - 基于 kexec 的崩溃转储解决方案
linux
tongsound1 小时前
igh ethercat 实时性测试
linux·c++
大翻哥哥1 小时前
Python 2025:低代码开发与自动化运维的新纪元
运维·python·低代码
柯南二号1 小时前
【Java后端】Spring Boot 集成雪花算法唯一 ID
java·linux·服务器
半梦半醒*1 小时前
正则表达式
linux·运维·开发语言·正则表达式·centos·运维开发