Wie verwende ich den Befehl linux flock, um zu verhindern, dass ein anderer Root-Prozess eine Datei löscht?

Ich möchte verhindern, dass einer meiner Root-Prozesse eine bestimmte Datei löscht. Also bin ich auf den Befehl flock gestoßen, er scheint meinen Anforderungen zu entsprechen, aber ich habe seine Syntax nicht verstanden.

Wenn ich nur eine gemeinsame Sperre anzeige, funktioniert dies nicht:
flock -s "./file.xml"

Wenn ich einen Timeout-Parameter hinzufüge, funktioniert er immer noch nicht
flock -s -w5 "./file.xml"

Es scheint so, es passt inflock [-sxun][-w #] fd# Weg.
(Was ist dieser fd # -Parameter?)

Also habe ich das ausprobiertflock [-sxon][-w #] file [-c] command
Verwendenflock -s -w5 "./file.xml" -c "tail -3 ./file.xml" und es hat funktioniert, tail command at ./file.xml wurde ausgeführt.
Aber ich möchte wissen, ob die Sperre nach dem Befehl endet oder 5 Sekunden nach dem Ende der Befehlsausführung dauert. Meine Hauptfrage ist, wie ich verhindern kann, dass ein anderer Root-Prozess eine Datei unter Linux löscht.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage