进程的管理

#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;
}
相关推荐
叫致寒吧9 分钟前
web和Nginx的搭建
运维·nginx
飞鸡11029 分钟前
解决conda环境遇到的qt.qpa.plugin: Could not find the Qt platform plugin “xcb“ in ““问题
服务器·数据库·qt
z***I3941 小时前
Docker书籍
运维·docker·容器
小嘟嘟26791 小时前
Linux-奇怪的No such file or directory
linux·运维·服务器
shizhan_cloud1 小时前
iSCSI 服务器
linux·运维
家有两宝,感恩遇见1 小时前
不能明文传证件号码后端加密解密最简单的方式AES
java·服务器·开发语言
百***61871 小时前
linux 设置tomcat开机启动
linux·运维·tomcat
春日见2 小时前
claude code基本介绍
linux·运维·服务器·ros2·moveit2
俺叫啥好嘞2 小时前
日志输出配置
java·服务器·前端
Cyan_RA92 小时前
操作系统面试题 — Linux中如何查看某个端口有没有被占用?
linux·后端·面试