fcntl使用的例子 (源自 嵌入式Linux 应用程序开发详解)
来源:互联网 发布:mysql trunc函数 编辑:程序博客网 时间:2024/04/30 04:22
在Linux中,实现文件上锁的函数有lock和fcntl,其中lock用于对文件施加建议性锁,而fcntl不仅可以施加强制性锁,还可以施加建议性锁。同时fcntl还能文件的某一记录进行上锁,也就是记录锁。
记录锁又分为读取锁和写入锁,其中读取锁又称为共享锁。它能使多个进程都能在文件的统一部分建立读取锁。而写入锁又称为排斥锁,在任何时刻只有一个进程在文件的某个部分上建立写入锁。当然文件的统一部分不能同时建立读取锁和写入锁。
强制性锁是由内核执行的锁,当一个文件被上锁进行写入操作时,内核将阻止其他任何文件对其进行读写操作。
int fcntl( int fd, int cmd, struct flock *lock )
fd :文件描述符
cmd:
lock:结构为flock,设置记录锁的具体状态。
返回值:成功:0
-1,出错。
struck flock{
short l_type;
off_t l_start;
short l_whence;
off_t l_len;
pid_t l_pid;
}
l_type : F_RDLCK F_WRLCK F_UNLCK
l_stat :相对位移量
l_whence : SEEK_SET SEEK_END SEEK_CUR
l_len : 加锁区域的长度;
为了加锁整个文件,通常的方法是将l_start说明为0,l_whence 说明为SEEK_SET.l_len 说明为0。
- fcntl使用的例子 (源自 嵌入式Linux 应用程序开发详解)
- 嵌入式Linux应用程序开发详解教程含源代码例子
- 嵌入式Linux应用程序开发详解
- 嵌入式Linux应用程序开发详解
- 嵌入式LINUX应用程序开发详解
- 《嵌入式Linux应用程序开发详解》
- 嵌入式linux应用程序开发详解
- 嵌入式Linux应用程序开发详解学习总结
- 《嵌入式Linux应用程序开发详解》CU完整版
- 嵌入式Linux应用程序开发详解-笔记1
- 《嵌入式linux应用程序开发详解》核心笔记
- fcntl函数的使用详解
- 基于ARM的嵌入式Linux应用程序开发
- 基于ARM的嵌入式Linux应用程序开发
- 基于ARM的嵌入式Linux应用程序开发
- linux 下fcntl的使用
- linux 下fcntl的使用
- linux 下fcntl的使用
- open read write fcntl lseek等函数的使用整理:
- JAVA技术专题综述之构造方法篇
- android图形系统编程学习(一)入门
- 基于Apache与Tomcat的Java平台部署方案
- 局域网中的两台主机共享一台显示器
- fcntl使用的例子 (源自 嵌入式Linux 应用程序开发详解)
- SHELL函数实现相对路径转化为绝对路径
- tomcat5和tomcat6配置ssi支持的区别
- PHP进行RSS订阅
- IBM的WID来集成基础资料所遇到的异常
- prototype介绍
- ASP.NET 中调用存储过程
- winFom DataGridView CheckBox是否选中
- 正航數據結構分析第一天