0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用exit()、_exit()和_Exit()来终止程序运行呢?

jf_Vqngj70R 来源:美男子玩编程 2024-02-22 12:20 次阅读

Linux系统下,你可以使用 exit()、_exit() 和 _Exit() 来终止程序运行,特别是在出现错误或执行失败的情况下。这样可以确保程序在发生严重错误时能够安全地退出。

1

exit() 函数

用法:void exit(int status)。

exit() 函数是标准 C 库的一部分,常用于 C 和 C++ 程序中。

当调用时,它执行一系列的清理操作(如调用使用 atexit() 注册的函数),刷新 I/O 缓冲区,然后终止程序。

status 参数是一个整数值,返回给调用进程的父进程。

通常,零状态表示正常终止,而非零状态可能表示错误或异常终止。

以下例子中,exit(0) 将立即终止程序,不会执行 printf("After exit() "); 后的代码。exit(0) 表示正常终止。

#include
#include


int main() {
    printf("Before exit()
");


    // The exit() function performs cleanup actions and terminates the program.
    exit(0);


    // The following code will not be executed.
    printf("After exit()
");


    return 0;
}

2

_exit() 函数

用法: void _exit(int status)。

_exit() 函数是一个系统调用,立即终止调用的进程,而不执行 exit() 所做的清理操作。

它不刷新 I/O 缓冲区,也不关闭打开的文件描述符,并且不调用使用 atexit() 注册的函数。

status 参数被返回给父进程。

与 exit() 不同,_exit(0) 不会执行任何清理动作,而是立即终止程序。与 exit() 不同,_exit() 函数是一个系统调用,不执行标准库的清理操作。

#include
#include


int main() {
    printf("Before _exit()
");


    // The _exit() function immediately terminates the program without cleanup.
    _exit(0);


    // The following code will not be executed.
    printf("After _exit()
");


    return 0;
}

3

_Exit() 函数

用法: void _Exit(int status)。

与 _exit() 类似,_Exit() 是一个系统调用,它在不执行清理操作的情况下立即终止调用的进程。

_Exit() 的行为类似于 _exit(),但其设计与 exit() 具有相同的函数签名。

它在 POSIX 兼容系统中得到标准化。

_Exit(0) 与 _exit(0) 类似,都是立即终止程序。在 POSIX 系统中,_Exit() 是标准化的版本。

#include
#include


int main() {
    printf("Before _Exit()
");


    // The _Exit() function immediately terminates the program without cleanup.
    _Exit(0);


    // The following code will not be executed.
    printf("After _Exit()
");


    return 0;
}

总的来说,exit() 是一个更高级别的函数,在终止之前执行各种清理操作,而 _exit() 和 _Exit() 是低级别的函数,立即终止进程而不执行清理操作。_Exit() 是 POSIX 兼容系统中对 _exit() 的标准化版本。




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux系统
    +关注

    关注

    4

    文章

    567

    浏览量

    26900

原文标题:exit()、_exit()和_Exit()终止程序运行

文章出处:【微信号:美男子玩编程,微信公众号:美男子玩编程】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Linux的exit命令用途说明

    exit命令用于退出当前shell,在shell脚本中可以终止当前脚本执行
    发表于 07-17 07:07

    linux的exit()与_exit()有什么区别

    void exit(int staus) 函数, 在头文件 #include void _exit(int status) 函数,在头文件 #include 中
    发表于 07-23 07:36

    STM32笔记之 EXIT(外部中断)精选资料分享

    /O映像三、中断服务四、配置流程(代码解析)五、中断函数处理在上一篇STM32笔记之 GPIO引脚中,有用到 EXIT外部中断作为 Key输入触发,所以本篇...
    发表于 08-05 06:10

    STM32F0中外部中断EXIT

    推荐分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中!Ⅰ、概述EXIT外部中断在使用到按键或者开关控制等应用中比较常见,低功耗中断唤醒也是很常见
    发表于 08-13 07:58

    定时器外部中断(EXIT)概念

    文章目录定时器中断外部中断(EXIT)概念与介绍使用的介绍使能IO时钟&基本配置中断优先级(NVIC)中断服务函数编写中断处理的回调函数HAL_GPIO_EXTI_Callback相关概念
    发表于 08-16 07:01

    STM32之EXIT外部中断的功能有哪些

    EXIT控制的原理是什么?EXIT外部中断的功能有哪些?
    发表于 10-27 07:45

    如何对EXIT的外部中断进行配置

    EXIT外部中断是什么?EXIT外部中断有哪些功能?如何对EXIT的外部中断进行配置
    发表于 11-16 06:21

    基于EXIT图和自适应微粒群算法的度分布对优化方法

    综合EXIT 图法和自适应微粒群优化(APSO)算法的优点,该文提出了一种基于EXIT 图和APSO 算法的非正则LDPC 码度分布对优化方法。该方法设计了衡量EXIT 曲线匹配程度的全局代价函数,并
    发表于 11-10 15:30 11次下载

    STM32F0xx_ EXIT中断配置详细过程

    STM32F0xx_EXIT中断配置详细过程
    的头像 发表于 04-07 14:37 2896次阅读
    STM32F0xx_ <b class='flag-5'>EXIT</b>中断配置详细过程

    STM32_ EXIT中断

    STM32_EXIT中断
    的头像 发表于 04-08 11:12 3452次阅读
    STM32_ <b class='flag-5'>EXIT</b>中断

    Shell内建命令:exit命令

    1.简介 exit 命令是 Shell 内建命令,用于退出当前 Shell 进程。 2.命令格式 exit  N (1)状态码 N 的范围是 0-255,一般情况下,0 表示正常退出,非零表示异常
    的头像 发表于 02-02 10:45 3390次阅读

    51单片机汇编学习例程(2)——Exit中断篇

    2.ASM2_Exit: 外部中断控制LED
    发表于 11-22 14:36 31次下载
    51单片机汇编学习例程(2)——<b class='flag-5'>Exit</b>中断篇

    瑞萨e2studio(6)----EXIT

    瑞萨e2studio.6--EXIT概述硬件准备外部中断接口新建工程工程模板保存工程路径芯片配置工程模板选择LED灯配置EXIT配置EXIT属性配置工程文件R_ICU_ExternalIrqOpen
    发表于 12-20 19:02 6次下载
    瑞萨e2studio(6)----<b class='flag-5'>EXIT</b>

    STM32CubeMX系列教程2:外部中断EXIT

    文章目录摘要配置工程修改引脚模式配置GPIO开启外部中断中断优先级分组中断优先级生成工程编写用户程序编写中断回调函数编译下载程序注意摘要  这一章,主要讲解STM32单片机外部中断的应用,实现
    发表于 01-14 15:38 0次下载
    STM32CubeMX系列教程2:外部中断<b class='flag-5'>EXIT</b>

    瑞萨e2studio(9)----EXIT

    本篇文章主要介绍如何使用e2studio对瑞萨单片机进行EXIT检测,之后通过按键形式以及灯的亮灭形式进行演示。
    的头像 发表于 11-15 10:53 749次阅读
    瑞萨e2studio(9)----<b class='flag-5'>EXIT</b>