进程结束调用接口exit、_exit、return的区别

2021/10/22 7:09:59

本文主要是介绍进程结束调用接口exit、_exit、return的区别,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

  exit、_exit、return 等三个函数都是结束进程的函数,其主要区别有

1、exit()

头文件:stdlib.h

函数声明:void exit(int status);

参数说明:status:进程的退出状态(正常退出“0”)

返回值:成功:0;

    出错:非 0 值;

作用:(1)结束进程的执行;

   (2)关闭所有已打开的文件;

   (3)如果父进程在wait等待状态,exit则会重新启动父进程运行;

   (4)清除缓冲区,将缓存区中的数据刷入内存。

参考代码:

1 #include <stdio.h>
2 #include <stdlib.h>
3 
4 int main() {
5     printf("输出结果为:\n");
6     fprintf(stdout,"xuning");   //stdout函数为行缓存,只有在末尾加入\n才能输出
7     exit(0);   //刷缓存
8 }

输出:

输出结果为:
xuning

 

2、_exit()

头文件:stdlib.h

函数声明:void _exit(int status);

参数说明:status:进程的退出状态(正常退出“0”)

返回值:成功:0;

    出错:非 0 值;

作用:结束进程的执行;

参考代码:

1 #include <stdio.h>
2 #include <unistd.h>
3 
4 int main() {
5     printf("输出结果为:\n");
6     fprintf(stdout,"xuning");   //stdout函数为行缓存,只有在末尾加入\n才能输出
7     _exit(0);   //不刷缓存
8 }

输出:

输出结果为:

 

3、return语句

作用:(1) 放在main函数中,结束进程。

   (2) 表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值。

1 #include <stdio.h>
2 
3 int main() {
4     printf("输出结果为:\n");
5     fprintf(stdout,"xuning");   //stdout函数为行缓存,只有在末尾加入\n才能输出
6     return 0;   //刷缓存
7 }

输出:

输出结果为:
xuning



这篇关于进程结束调用接口exit、_exit、return的区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程