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

进程退出

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

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

相关推荐
t***821110 分钟前
华为数据中心CE系列交换机级联M-LAG配置示例
服务器·华为·php
U***746914 分钟前
Linux(CentOS)安装 MySQL
linux·mysql·centos
3***g20515 分钟前
Linux系统离线部署MySQL详细教程(带每步骤图文教程)
linux·mysql·adb
J***Q29216 分钟前
DevOps金融服务安全要求
运维·安全·devops
Dovis(誓平步青云)31 分钟前
《内核视角下的 Linux 锁与普通生产消费模型:同步原语设计与性能优化思路》
linux·运维·性能优化
D***t13136 分钟前
DevOps技能提升路径
运维·devops
xu_yule42 分钟前
Linux_13(多线程)页表详解+轻量级进程+pthread_create
linux·运维·服务器
草莓熊Lotso3 小时前
Git 分支管理:从基础操作到协作流程(本地篇)
大数据·服务器·开发语言·c++·人工智能·git·sql
江湖有缘3 小时前
Linux系统之htop命令基本使用
linux·运维·服务器
CodeByV3 小时前
【Linux】基础 IO 深度解析:文件、描述符与缓冲区
linux