如今,
计算机的使用越来越普遍。几乎每个家庭都有
电脑。计算机的
运行离不开
操作系统。在这里,萧边
介绍了如何在Linux
操作系统下
创建锁
文件。
Linux提供了多种
功能来实现文件锁定,最简单的
方法是通过原子操作创建锁文件。所谓的原子操作是在创建锁文件时,系统不会允许其他任何事情发生,这使得
程序能够确保它创建的文件是唯一的,并且该文件不能被其他程序同时创建。
两。方法
锁文件只是一个充当指示器的角色,程序需要通过协作来使用。
创建一个文件,是用来作为一个指标,我们使用开放的系统调用o_create和o_excl标签。这将使我们能够在一个原子操作的同时做两项
任务:确保文件不存在,就创建它。
三。实现
文件:锁定。
# include
# include
# include
# include
# include
主()
{
国际file_desc;
国际save_errno;
file_desc =开放( / /锁定文件测试TMP。
如果(file_desc<0)
{
save_errno =
错误;
printf(打开失败,错误为%d
}
别的{
printf(打开成功;
}
退出(exit_success);
}
首次运行程序:
$锁
输出如下:
打开成功
我们再次运行程序:
$锁
输出如下:
打开失败的错误是17
分析:
当程序第一次运行时,
执行是成功的,因为文件不存在。为了以后的执行,文件由于文件的存在而失败。如果你想让程序再次执行,你必须
删除锁文件。
In the Linux system, the error number 17 typically represents EEXIST, which is used to indicate that a file has already existed.The error number is defined in the header file errno.h or (more common) the header file it contains.