无法锁定文件 linux

Unable to lock file linux

我正在尝试锁定一个文件,显然我遗漏了一些东西,因为尽管它看起来已被锁定,但我仍然可以使用 vim 编辑器访问和编辑它。

锁定文件:

flock -x lock2.txt sleep 30

使用 lslocks 检查:

COMMAND           PID  TYPE SIZE MODE  M START END PATH
flock            5417 FLOCK  10B WRITE 0     0   0 /home/lock2.txt

但仍然能够使用不同的终端访问它并进行编辑(我相信是不同的过程)。 我在这里尝试了文件描述符的解决方案 Linux flock, how to "just" lock a file? 但是结果还是一样

flock命令使用flock(2)锁定文件。正如 documentation 所说

flock() places advisory locks only; given suitable permissions on a file, a process is free to ignore the use of flock() and perform I/O on the file.

一般来说,应用程序不检查建议锁。它们旨在用于特定应用程序中以协调多个进程。

flock 命令最常被单个应用程序使用,只是为了防止自己同时 运行 多次。