重读APUE(4)-fcntl和ioctl的区别
fcntl(File Control)-文件控制
ioctl(In/Out Control)-I/O控制
1. fcntl作用于文件,提供对文件的基础控制;ioctl作用于文件和设备对象,一般用来向设备发送命令,或者控制设备属性;
2. fcntl是系统预先定义好的命令选项,不能自定义;ioctl可以通过驱动程序自定义,驱动程序中可以通过file_operations->unlocked_ioctl实现针对特定设备的定制命令控制;
重读APUE(4)-fcntl和ioctl的区别的更多相关文章
- APUE中fcntl.h的使用及O_SYNC在Mac与Ubuntu下的测试
此部分测试涉及到APUE V3中,第三章的图3-12到图3-14. 通过fcntl.h提供的功能,修改fd的文件属性,本处增加O_SYNC功能,并测试其效果. 本文涉及代码: tree ch3 ch3 ...
- 第3章 文件I/O(4)_dup、dup2、fcntl和ioctl函数
5. 其它I/O系统调用 (1)dup和dup2函数 头文件 #include<unistd.h> 函数 int dup(int oldfd); int dup2(int oldfd, i ...
- lseek,fcntl,ioctl函数
函数说明:每一个已打开的文件都有一个读写位置, 当打开文件时通常其读写位置是指向文件开头, 若是以附加的方式打开文件(如O_APPEND), 则读写位置会指向文件尾. 当read()或write()时 ...
- 重读APUE(6)-umask
umask函数设置当前进程的权限为屏蔽字:系统会有一个默认的屏蔽字,为了确保创建文件具有的权限位成功被设置,需要使用umask将屏蔽字置0: 系统屏蔽字用shell查看,比如得到如下结果,其为八进制表 ...
- [APUE]不用fcntl实现dup2函数功能
dup2的函数定义为: #include <unistd.h> int dup2(int src_fd, int new_fd); 自己实现dup2函数有几个关键点: 1,检查给定的源fd ...
- 重读APUE(10)-中断的系统调用
如果进程在执行一个低速系统调用而阻塞期间捕获到一个信号,则该系统调用就会被中断而不再继续执行:该系统调用返回出错,其errno设置为EINTR: 系统将系统调用分成两类:低速系统调用和其他系统调用:低 ...
- 重读APUE(3)-dup与文件表项
下图为调用dup之后的文件指针状态,包含如下信息: 1. dup选择了一个最小的未使用的描述符3: 2. dup(1)之后,描述符1和描述符3指向同一个文件表项: 3. dup(1)的返回值即为复制得 ...
- 重读APUE(15)-pthread_cond_wait与while循环
即使pthead_cond_wait()和pthread_cond_timewait()没有错误返回,等待的条件也可能是假的:即使pthread_cond_timewait()返回了超时错误,关联的条 ...
- 重读APUE(14)-主线程终止对子线程的影响
在main中创建线程,我们称main线程为主线程,新建线程为子线程(其实没有什么主线程和子线程的父子概念,它们是平行的,为了好理解这样称呼),如果子线程内部执行相对比较耗时的操作,主线程执行的快,而且 ...
随机推荐
- Vue中遍历数组的新方法
1.foreach foreach循环对不能使用return来停止循环 search(keyword){ var newList = [] this.urls.forEach(item =>{ ...
- <script> 为什么不再使用 type="text/javascript" 【问题】
1.为什么在 <script> 标签中不需要使用 type="text/javascript" 就可以写jQuery代码 ? <head> <scri ...
- Python TCP通信之仿文件下载
TCP_文件下载_Client.py import socket def main(): # 创建TCP套接字 tcp_socket = socket.socket(socket.AF_INET, s ...
- linux在线安装jdk,tomcat,Nginx
安装jdk yum search java 查看java的所有版本内容 yum install -y java版本 -openjdk 安装成功 安装tomcat yum search tomcat y ...
- jade-包含
模板继承是子文件,父文件继承和代码复用的问题,那模版包含是文件与文件之间,文件与区块之间,这种区块内嵌的东西 继承的关键字是extends, 那模板包含使用的是include这个关键字 head.ja ...
- NLP学习(2)----文本分类模型
实战:https://github.com/jiangxinyang227/NLP-Project 一.简介: 1.传统的文本分类方法:[人工特征工程+浅层分类模型] (1)文本预处理: ①(中文) ...
- Unknown initial character set index '255' received from server. Initial client character 解决方法
Unknown initial character set index '255' received from server. Initial client character set can be ...
- 优先级:content –> width –> flex-basis (limted by max|min-width)
原文: https://www.jianshu.com/p/17b1b445ecd4 -------------------------------------------- 最近在学习Flex Bo ...
- Hibernate初探之单表映射——创建持久化类
编写第一个Hibernate例子 第二步:创建持久化类(持久化类的设计原则要遵循javabeans的设计原则) javabeans的设计原则: 1.公有的类2.提供公有的不带参数的默认的构造方法3.属 ...
- JAVA实现WEBSERVICE 上传下载
因公司新项目决定使用webservice与其它项目做交互,于是开始了webservice之旅. 初入webservice的时候第一个接触的工具叫axis2,网上有着大量的简单案例.功能很强大,代 ...