我想阻止我的一个根进程删除某个文件。所以我遇到了flock 命令,它似乎符合我的需要,但我没有得到它的语法。
如果我只表示一个共享锁,它就不起作用:
flock -s "./file.xml"
如果我添加一个超时参数,它仍然不起作用:
flock -s -w5 "./file.xml"
似乎是这样,它适合的flock [-sxun][-w #] fd#
方式。(这个fd#
参数是什么?)
所以,我尝试了:
flock [-sxon][-w #] file [-c] command
使用flock -s -w5 "./file.xml" -c "tail -3 ./file.xml"
并且它起作用了,执行了 ./file.xml 处的 tail 命令。
但我想知道,锁定是在命令后结束还是在命令执行结束后持续 5 秒?我的主要问题是,如何防止另一个 root 进程删除 linux 中的文件?