进程的管理

#include <unistd.h>

void _exit(int status);

#include <stdlib.h>

void _Exit(int status);

status参数:是进程退出时的状态信息,父进程在回收子进程资源的时候可以获取到

cpp 复制代码
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>

int main() {
    printf("hello\n");
    printf("world");
    // exit(0);
    _exit(0);
    return 0;
}

exit()函数退出时会刷新I/O缓冲,而_exit()函数退出时不会刷新I/O缓冲

cpp 复制代码
#include <sys/types.h>
#include <unistd.h>
#include<stdio.h>
int main() {
    //创建子进程
    pid_t pid = fork();
    //判断是父进程还是子进程
    if(pid > 0) {
        printf("I am parent process, pid : %d, ppid : %d\n", getpid(), getppid());
    } else if(pid == 0) {
        sleep(1);
        printf("I am child process, pid : %d, ppid : %d\n", getpid(), getppid());
    }
    for(int i = 0; i < 5; i++) {
        printf("i : %d\n", i);
    }
    return 0;
}
cpp 复制代码
#include <sys/types.h>
#include <unistd.h>
#include<stdio.h>
int main() {
    //创建子进程
    pid_t pid = fork();
    //判断是父进程还是子进程
    if(pid > 0) {
        while(1) {
            printf("I am parent process, pid : %d, ppid : %d\n", getpid(), getppid());
            sleep(1);
        }
    } else if(pid == 0) {
        printf("I am child process, pid : %d, ppid : %d\n", getpid(), getppid());
    }
    for(int i = 0; i < 5; i++) {
        printf("i : %d\n", i);
    }
    return 0;
}
相关推荐
极客老王说Agent几秒前
实在Agent物流对账全流程自动化方案与落地案例:2026智享财务新标杆
运维·人工智能·ai·chatgpt·自动化
成空的梦想6 分钟前
免费 vs 付费国密 SSL 怎么选?
服务器·网络·网络协议·http·https·ssl
Xxtaoaooo7 分钟前
企业财务自动化实战:JiuwenSwarm 多智能体协作完成报销审核
运维·自动化·多智能体协作·jiuwenswarm·企业报销审核
Languorous.7 分钟前
Linux发行版区别——CentOS、Ubuntu、Debian、Rocky怎么选?
linux·ubuntu·centos
夏日听雨眠7 分钟前
linux(线程,线程同步 方法 互斥锁 信号量 条件变量 )
linux·运维·算法
小肝一下11 分钟前
5. 基础IO
android·linux·shell·基础io·操作系统底层·伊涅夫·伊雷娜
code tsunami11 分钟前
如何通过Hermes Agent和CapSolver解决浏览器自动化中的CAPTCHA
运维·自动化
霍格沃兹测开D15 分钟前
n8n + MCP:自动化工作流开始拥有“动手能力”
运维·自动化
minji...18 分钟前
Linux 网络基础之传输层TCP(六)TCP报头格式,TCP可靠性,序号/确认序号,窗口大,标志位,初识三次握手四次挥手
linux·运维·服务器·网络·网络协议·tcp/ip·http
文青小兵18 分钟前
云计算Linux——数据库MySQL主从复制和读写分离(十七)
linux·运维·服务器·数据库·mysql·云计算