进程的管理

#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;
}
相关推荐
路人甲ing..10 小时前
Ubuntu 怎么把树莓派内存卡备份制作成为镜像
linux·运维·ubuntu
QMY52052011 小时前
爬虫技术抓取网站数据的方法
运维·爬虫·自动化
zz-zjx11 小时前
docker进阶---docker底层实践2025
运维·docker·容器
獭.獭.11 小时前
Linux -- 线程互斥
linux·互斥锁·mutex·互斥量·线程互斥
Broken Arrows11 小时前
排查网络问题的一些工具的作用和常用使用方法
linux·网络·学习
撒币使我快乐12 小时前
Windows安装Claude Code全流程
linux·windows·claude
Fanmeang12 小时前
华为SRv6技术:引领IP网络进入新时代的智能导航系统
运维·网络·华为·vpn·ipv6·srv6
我科绝伦(Huanhuan Zhou)12 小时前
【免费】MySQL自动化巡检工具,一键生成WORD巡检报告
运维·mysql·自动化
SiriusSun_12 小时前
Windows10 wsl2 ubuntu22.04 docker安装
运维·docker·容器
longerxin202012 小时前
ubuntu所有版本镜像下载链接
linux·运维·ubuntu