进程终止
终止方式
1.正常终止,结果正确
2.正常终止,结果错误
3.异常终止
终止方法
1.正常终止(可以通过
echo $?
查看进程退出码)- 调用_exit函数
#include <unistd.h> void _exit(int status) 参数:status定义了进程终止状态,父进程通过wait来获取 注意:虽然status是int,但只有低八位可以被父进程使用 证明:_exit(-1)时,执行echo $?返回值255
- 调用exit函数
#include <unistd.h> void exit(int status) exit函数做了以下事情,最终调用了_exit函数: 1. 执行用户通过ataxia或on_exit定义的清理函数 2. 冲刷缓存,将所有缓存数据写入,并且关闭所有打开的流 3. 调用_exit函数
- main函数返回(return退出)
return是一种更常见的退出进程的方法 main函数运行时,exit函数会将main返回值当作参数 return n则相当于exit(n)。
2.异常退出
ctrl + c 信号终止