Как использовать команду linux flock для предотвращения удаления файла другим корневым процессом?

Я бы хотел, чтобы один из моих корневых процессов не удалил определенный файл. Поэтому я наткнулся на команду 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" и это сработало, команда tail в ./file.xml была выполнена.
Но я хотел бы знать, блокировка заканчивается после команды или длится 5 секунд после окончания выполнения команды? Мой главный вопрос: как я могу предотвратить удаление процесса в Linux другим корневым процессом?

Ответы на вопрос(3)

Ваш ответ на вопрос