【Linux】进程终止方式--exit的调用过程!!!

在linux里面的进程终止的方法有8种。
五种正常终止:

  1. 从main函数返回
  2. 调用exit函数
  3. 调用_exit或者_Exit
  4. 最后一个线程从启动实例返回
  5. 从最后一个线程调用pthread_exit

三种议程终止:

  1. 调用abort函数
  2. 接收到一个终止信号
  3. 最后一个线程对取消请求做出响应

    exit的调用过程
    函数原型:void exit(int status);

    在调用一个函数结束程序的时候,_exit()或者_Exit()会立即进入内核,而exit函数则会先执行一些清理处理,然后返回内核。

这里写图片描述
关于进程:
一个已经终止、但是其父进程尚未对其进行善后处理(获取终止子进程的有关信息、释放它仍占用的资源)的进程被称为僵死进程,也就是处于TASK_ZOMIBE状态的进程。
TASK_ZOMIBE状态是进程结束前过渡状态(僵死状态),在一个进程调用了exit()之后,该进程并不会立刻完全消失,而是留下一个称为僵尸进程(Zombie)的数据结构 。
僵尸进程是一种非常特殊的进程,它已经释放了几乎所有的内存空间,没有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位置,记载该进程的退出状态等信息供其他进程收集,除此之外,僵尸进程不再占有任何内存空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值