1. 正常终止
①从main函数返回 return 0 ;
②调用exit;
③调用_exit或者_EXIT
④最后一个线程从其启动例程返回
⑤最后一个线程调用pthread_exit
2.异常终止
①调用abort
②接到一个信号并终止
③最后一个线程对其取消请求做出响应
3.main中的return
我们在main函数中写的return 0; 是给谁看的呢?是给这个进程的父进程看的,告知此进程的任务已完成
4.一个简单的Demo
#include <stdio.h>
int main()
{
printf("Hello!\n");
return 0;
}
#include <stdio.h>
int main()
{
printf("Hello!\n");
//return 0;
}
5.exit
NAME
exit - 使程序正常中止
SYNOPSIS 总览
#include <stdlib.h>
void exit(int status);
函数 exit() 使得程序正常中止,status & 0377 的值被返回给父进程
所有用 atexit() 和 on_exit() 注册的函数都以与注册时相反的顺序
被依次执行。使用 tmpfile() 创建的文件被删除
他只保留第八位有符号数
6._EXIT是一个系统调用
他不会进行钩子函数,和标准IO的清理,而是直接进入内核