-
c程序启动过程
-
内核启动特殊例程
-
启动例程
-
在进程的main函数执行前内核会启动
-
该例程放置在/lib/libc.so.***中
-
编译器在编译时会将启动例程编译进可执行文件中
-
启动例程作用
-
搜集命令行的参数传递给main函数中的argc和argv
-
搜集环境信息构建环境表并传递给main函数
-
登记进程的终止函数
-
进程终止 终止函数可以自己定义
- 正常终止
- 从main函数返回:return
- 调用exit(标准c库函数):exit(0)正常终止 exit(1)异常终止
- 调用_exit或Exit(系统调用)
- 最后一个线程从其启动例程返回 一个进程中有许多线程:包括一个主线程和若干个子线程
- 最后一个线程调用pthread_exit
- 异常终止
- 调用abort
- 接受到一个信号并终止
- 最后一个线程对取消请求做处理响应
- 进程返回
- 通常程序运行成功返回0,否则返回非0
- 在shell中可以查看进程的返回值(echo $?)