正常终止(可以通过 echo $? 查看进程退出码)
1. 从main返回
#include
int main()
{
printf("测试退出码\n");
return 9;
}
2. 调用exit
#include
int main()
{
printf("测试退出码");
sleep(3);
exit(1);
}
3. _exit
一样的代码,exit()换成_exit();
int main()
{
printf("测试退出码");
sleep(3);
_exit(1);
}
什么都不刷新,程序直接退出
异常退出:
ctrl + c,信号终止
功能:exit函数用于正常终止程序的执行,并返回一个整数值给操作系统,表示程序的退出状态。它会执行一系列的清理工作,例如关闭打开的文件、释放动态分配的内存等,然后将状态码传递给操作系统。状态码通常用来向调用程序传递一些信息,例如指示执行是否成功或失败。
#include
void _exit(int status);
参数:status 定义了进程的终止状态,父进程通过wait来获取该值
功能:_exit函数用于立即终止程序的执行,不执行任何清理工作,不刷新I/O缓冲区。它直接将状态码传递给操作系统,然后操作系统会终止程序的执行。
#include
void exit(int status);
exit最后也会调用exit, 但在调用exit之前,还做了其他工作:
(本章完)