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

进程退出

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

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

相关推荐
Tinyundg7 分钟前
WinSCP的简单使用与SFTP自动备份 .bat脚本
运维·服务器
啊吧怪不啊吧22 分钟前
SQL之表的时间类内置函数详解
大数据·服务器·数据库·sql
SoulKuyan39 分钟前
android su执行命令
linux·运维·服务器
Zhao_yani41 分钟前
Centos 7安装Apache Drill
linux·centos·drill
zz-zjx43 分钟前
LVS/IPVS与Keepalived在云原生环境中的深度学习与实践(一)
运维·lvs
一叶飘零_sweeeet1 小时前
Linux 安装 Elasticsearch:避坑指南 + 性能调优实战
linux·运维·elasticsearch
网络精创大傻1 小时前
Terminator SSH 管理器 — 一款适用于 Terminator 的精美 SSH 连接插件
运维·ssh
运维_攻城狮1 小时前
Nexus 3.x 私服搭建与运维完全指南(Maven 实战)
java·运维·maven
梁正雄1 小时前
linux-shell-基础与变量和运算符-1
linux·运维
HIT_Weston1 小时前
23、【Ubuntu】【远程开发】内网穿透:SSH 反向隧道
linux·ubuntu·ssh