进程终止(exit 和 _exit)

本文详细介绍了Linux系统中进程常见的退出方式,包括_exit、exit和return。_exit是直接进入内核,仅8位状态可供父进程使用;exit除了调用_exit外,还会执行清理函数和关闭流;return在main函数中等同于exit,返回值作为进程退出码。
摘要由CSDN通过智能技术生成

进程退出场景

  • 代码运行结束,结果正确
  • 代码运行结束,结果不正确
  • 代码异常终止

进程常见的退出方法

1、正常退出(可通过指令 : echo $?   查看进程退出码($?是bash中的特殊变量,表示上个命令对应的进程退出码))

  1. 从main函数返回(main函数为程序入口函数,其返回值为进程退出码,0表示结果正确,非0表示结果不正确)
  2. 调用exit(例如:exit(1) 任何函数中可用;本质上也是调用_exit,只是对其进行了包装)
  3. _exit

2、异常退出

  1. 指令 : ctrc + c   信号终止

下面分别介绍一下这几个退出方法

1、_exit

1、函数原型

#include <unistd.h>
void _exit(int status);

2、⚠️

  1. 参数 status 定义了进程的终止状态,父进程通过 wait 来取该值。
  2. 虽然 status 是 int ,但是仅仅有低8位可以被父进程所用。所以 _exit(-1) 时,在终端通过 echo  $? 查看退出码时,发现返回值为255。

2、exit

1、函数原型

  1. #include <unistd.h>
    void
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值