进程终止

 

1. 进程退出场景 代码运行完毕,结果正确 代码运行完毕,结果不正确 代码异常终止

2. 进程常见退出方法

从main返回

调用exit

调用_exit 

3. 进程异常退出:在任意点被终止了的进程我们称之为异常退出。

     ctrl+c: 程序在前台出现问题用它让程序终止

4. _exit函数 #include<unistd.h> void_exit(int status); 参数:status是int ,定义了进程的终止状态,父进程通过wait来获取该值。 说明:虽然status是int,但是仅有8位可以被父进程所用,所以_exit(-1),在终端执行$?发现返回值为255。

5. exit()函数 #include<unistd.h> void exit(int status); 这两个函数是有区别的,exit()在退出进程时,首先会调用atexit()对进程的地址空间进行销毁,然后调用cleanup()关闭所有的流,使得所有的缓冲被输出,在调用_exit()函数,结束进程调用。 _exit()直接结束进程调用。 在使用中的现象是,在程序中使用_exit()不会刷新缓冲区,使用exit()则会刷新缓冲区。表现是刷新缓冲区了,显示器上会有我们要输出的字符,反之,则没有。

6. return 执行return n,等同于执行exit(n),因为调用main的运行时函数会将main的返回值当做exit的参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值