第五章文件i/o操作之fcntl函数应用及文件上锁 文章目录 第五章文件i/o操作之fcntl函数应用及文件上锁 前言 一、fcntl函数的几种用法 获取文件的flags,即open函数的第二个参数 设置文件的flags 二、应用举例 1.增加文件的某个flags,例如文件原本阻塞,设置为非阻塞 2.取消文件的某个flags,例如文件原本非阻塞,设置为阻塞 总结 前言 Linux是多用户操作系统,多个用户同时使用、操作同一文件的事情时常发生。而文件上锁可以避免对共享资源的竞争,从而发生读写错误。而文件锁分为建议性锁和强制性锁。当一个文件被加上强制性锁之后,内核将阻止对其他用户其进行读写操作 一、fcntl函数的几种用法 获取文件的flags,即open函数的第二个参数 flags = fcntl(fd,F_GETFL,0); 设置文件的flags fcntl(fd,F_SETFL,flags