Como eu uso o comando linux flock para evitar que outro processo raiz exclua um arquivo?

Gostaria de evitar que um dos meus processos de raiz exclua um determinado arquivo. Então eu me deparei com o comando do bando, parece se encaixar na minha necessidade, mas não obtive sua sintaxe.

Se eu indicar apenas um bloqueio compartilhado, não funciona:
flock -s "./file.xml"

Se eu adicionar um parâmetro de tempo limite, ele ainda não funciona
flock -s -w5 "./file.xml"

Parece que assim, se encaixaflock [-sxun][-w #] fd# caminho.
(O que é esse parâmetro fd #?)

Então, eu tentei oflock [-sxon][-w #] file [-c] command
Usandoflock -s -w5 "./file.xml" -c "tail -3 ./file.xml" e funcionou, o comando tail em ./file.xml foi executado.
Mas eu gostaria de saber, o bloqueio termina após o comando ou dura 5 segundos após o final da execução do comando? Minha principal questão é, como posso evitar que outro processo raiz exclua um arquivo no linux?

questionAnswers(3)

yourAnswerToTheQuestion