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) 发送一些作业控制信号;