如何使用linux flock命令来防止其他根进程删除文件?

前端之家收集整理的这篇文章主要介绍了如何使用linux flock命令来防止其他根进程删除文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想防止我的一个根进程删除某个文件.所以我遇到了flock命令,似乎符合我的需要,但我没有得到它的语法.

如果我只指示一个共享锁,它不起作用:
flock -s“./file.xml”

如果我添加了一个超时参数,它仍然不起作用
flock -s -w5“./file.xml”

似乎这样,它适合flock [-sxun] [ – w#] fd#方式.
(这是什么fd#参数?)

所以,我试过flock [-sxon] [ – w#] file [-c]命令
使用flock -s -w5“./file.xml”-c“tail -3 ./file.xml”,并且执行了./file.xml中的tail命令.但是我想知道,锁定在命令结束后还是执行命令执行结束后的最后5秒?我的主要问题是,如何防止其他根进程删除linux中的文件

解决方法

不,羊群不妨碍任何人做任何事情. Unix锁是ADVISORY,这意味着它们阻止其他进程也调用flock(或者在共享锁的情况下,阻止另一进程使用独占的进程).

它不会阻止root或其他人读取,写入或删除文件.

在任何情况下,即使是强制性的锁定,也不会阻止文件删除,因为文件被锁定不是目录条目.

猜你在找的Linux相关文章