exit() _exit() 函数区别

exit(): --stdlib.h

(1) 所有使用atexit()注册的函数,将会被以注册相反的顺序调用;

(2) 所有打开的输出流被刷新,并且关闭流;

(3) 使用tmpfile()创建的文件将会被删除;

(4) 调用_exit();

_exit(): --unistd.h

(1) 所有打开的文件描述符和目录流被关闭;

(2) 若父进程执行了wait()或者waitpid(),那么父进程被唤醒,此时退出状态可用;

(3) 若父进程没有执行wait()或者waitpid(),那么退出状态保存给随后到来的wait()或者waitpid();

(4) 终止进程的所有子进程被赋予新的父进程ID;

(5) 如果支持SIGCHLD,则向父进程发送该信号;

(6) 发送一些作业控制信号;

原文地址:https://www.cnblogs.com/wanpengcoder/p/5309186.html