三种终止进程的方法
c吧
全部回复
仅看楼主
level 6
Return exit、_exit、_Exit 区别:
当程序在执行某个函数出错的时候,如果此函数执行失败会导致后面的步骤不能在进行下去时,应该在出错时终止程序运行,不应该让程序继续运行下去,那么如何退出程序、终止程序运行呢?有过编程经验的读者都知道使用 return,一般原则程序执行正常退出 return 0,而执行函数出错退出 return -1。
在 Linux 系统下,进程(程序)退出可以分为正常退出和异常退出,注意这里说的异常并不是执行函数出现了错误这种情况,异常往往更多的是一种不可预料的系统异常,可能是执行了某个函数时发生的、也有可能是收到了某种信号等,这里我们只讨论正常退出的情况。
在 Linux 系统下,进程正常退出除了可以使用 return 之外,还可以使用 exit()、_exit()以及_Exit()。
main 函数中使用 return 后返回,return 执行后把控制权交给调用函数,结束该进程。调用_exit()函数会清除其使用的内存空间,并销毁其在内核中的各种数据结构,关闭进程的所有文件描述符,并结束进程、将控制权交给操作系统。
#include <unistd.h>
void _exit(int status);
调用函数需要传入 status 状态标志,0 表示正常结束、若为其它值则表示程序执行过程中检测到有错误发生。_exit()和_Exit()两者等价,用法作用是一样的。
exit()函数_exit()函数都是用来终止进程的,exit()是一个标准 C 库函数,而_exit()和_Exit()是系统调用。 执行 exit()会执行一些清理工作,最后调用_exit()函数。
void exit(int status);
该函数是一个标准 C 库函数,使用该函数需要包含头文件<stdlib.h>
介绍了 3 中终止进程的方法:
⚫ main 函数中运行 return;
⚫ 调用 Linux 系统调用_exit()或_Exit();
⚫ 调用 C 标准库函数 exit()。
不管你用哪一种都可以结束进程,但还是推荐大家使用 exit(),
2025年11月11日 09点11分 1
1