进程3

_exit和exit的一个区别

_exit(0)直接退出,不刷新缓存区.系统调用

exit(0)先刷新缓存区后在退出.库函数

int main()
{
 cout<<"in main,pid="<<getpid();      //<<endl;endl也是刷新缓存区

// fflush(stdout);
 _exit(0);
}

上述代码加上注释则什么都不输出,去掉注释打印进程ID


atexit  注册在函数结束时调用的函数,输出顺序和注册顺序相反.

void exitHandler(void)
{
 printf("If exit with exit,function1 be called\n");
}
void exitHandler2(void)
{
 printf("if exit with exit,function2 be called\n");
}
int main()
{
 cout<<"In main,pid="<<getpid()<<endl;
 atexit(exitHandler);
 atexit(exitHandler2);
 exit(0);
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值