https://unix.stackexchange.com/a/12818/674 说
程序使用锁定文件来确保可能在一个系统上同时运行的程序的两个(行为良好的)单独实例不会同时访问其他内容。这个想法是在程序访问其资源之前,它会检查锁定文件是否存在,如果锁定文件存在,则错误输出或等待它消失。当它不存在时,想要“获取”资源的程序会创建该文件,然后稍后可能遇到的其他实例将等待该过程完成。当然,这假设“获取”锁的程序实际上释放了锁并且没有忘记删除锁文件。
这有效是因为所有类 UNIX 操作系统下的文件系统都强制序列化,这意味着在任何给定时间实际上只发生对文件系统的一次更改。有点像数据库的锁等等。
最后一段是什么意思?
在Linux中,一个文件可以由两个进程同时写入,并且操作系统不提供隐式同步,而是需要程序员显式同步,这是否正确?
锁定文件是否是同步多个进程对同一文件的访问的显式方法?
谢谢。