接下来测试两个程序争夺文件夹同一区域上的锁时会发生什么情况。再次用lock3.exe来锁定文件,然后用一个新的程序lock5.exe来尝试对它进行加锁。
lock5.exe的作用不再是测试文件中不同部分的锁状态,而是试图对文件中已经锁定的区域再次加锁。
顺便再提一下第三章就讲过的fcntl系统调用,fcntl系统调用对底层文件描述符提供了很多操作方法。
#include <fcntl.h>
int fcntl(int fields, int cmd);
int fcntl(int fileds, int cmd, long arg);
利用fcntl系统调用,可以对打开的文件描述符执行各种操作,包括对它们的复制、获取和设置文件描述符标志、获取和设置文件状态标志,以及管理建议性文件锁等。