博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
进程终止方法
阅读量:3700 次
发布时间:2019-05-21

本文共 650 字,大约阅读时间需要 2 分钟。

传智扫地僧课程学习笔记。

printf中

如果使用\n,使用系统调用能打印出内容,

如果不使用,使用系统调用就打印不出东西,

若是使用c库函数,就都能打印出东西来,

\n能启动刷新缓冲区的作用,

这里能否打印的关键,就是行缓冲,

int main01(){	printf("hello....  fddddddddd1111");	//exit(0)是c库函数 =======其他操作。。。。在调用_exit	_exit(0); //系统调用}

系统调用和库函数的区别是,库函数多了一些封装,

比如,调用终止处理程序,清除I/O缓冲,

说到终止处理程序,其函数为

int atexit(void (*function)(void));

给它传参为,函数的地址,

但是使用abort()就会异常退出,终止处理程序就不会执行,
void bye1(void){	printf("bye1...do\n");}void bye2(void){	printf("bye2...do\n");}        int main(){		atexit(bye1);		atexit(bye2);	printf("hello....  fddddddddd1111\n");	//abort();		sleep(100);		//exit(0); //是c库函数 =======其他操作。。。。在调用_exit	return 0;	}
sleep(100);中给它发终止信号,也会异常退出,终止处理程序也不会执行,

转载地址:http://gobcn.baihongyu.com/

你可能感兴趣的文章
Linux 的网络配置
查看>>
Linux 环境下安装 MySQL,各种踩坑、疑难杂症
查看>>
MySQL性能【索引优化分析】
查看>>
MySQL性能【查询截取分析】
查看>>
MySQL 锁机制
查看>>
MySQL 主从复制
查看>>
Jedis 连接 Redis 常见错误
查看>>
Redis中的布隆过滤器
查看>>
Redis 中加入 Redis-Cell 模块,配置文件出错 version `GLIBC_2.18` not found
查看>>
CentOS7 防火墙配置,重启
查看>>
1. Shiro 简介
查看>>
2. Shiro 身份验证
查看>>
3. Shiro 授权
查看>>
Git 版本管理
查看>>
Git 工作区和暂存区
查看>>
MyBatis Plus 3.X 通俗易懂版教程
查看>>
Java 实现冒泡排序
查看>>
JMeter 工具安装、环境配置、中文设置
查看>>
mysql 遇到此问题解决办法:Expression #7 of SELECT list is not in GROUP BY clause and contains nonaggre
查看>>
多线程之线程礼让
查看>>