Linux 檔案鎖的簡單使用

2021-08-10 03:03:29 字數 609 閱讀 5880

一般情況下,我們利用crontab執行計畫任務,間隔都不會太短,比如一天一次,甚至一周乃至一月一次。

所以一般而言,這都不會有什麼問題。

那麼這個時候【檔案鎖】(flock)就發揮作用了。

下面介紹乙個簡單的檔案鎖(flock)用法:

常見的引數:

flock -xn 鎖檔案 -c "shell"

flock -x 鎖檔案 -c "shell"

以上內容看起來不太直觀,那麼先來解釋一下:

flock是檔案鎖的命令,兩行的引數相差乙個 n ,第一行 -xn, 使用這個引數,當執行發現檔案被鎖,則後面的shell命令/指令碼直接執行失敗。第二行則不同,單獨使用 -x 時,如果發現檔案被鎖,則會等待檔案鎖解除時,再執行後面的shell命令/指令碼。

注意,在這裡,【鎖檔案】本身沒有實在的意義,它只是乙個標記,所以可以手工隨意touch乙個。

下面是我 crontab 的其中一行:

*/1     *       *       *       *       flock -x /root/file.lock -c "sh /root/file.sh"

linux使用flock檔案鎖

使用linux flock 檔案鎖實現任務鎖定,解決衝突 格式 flock sxun w fd flock sxon w file c command flock help flock util linux ng 2.17.2 usage flock sxun w fd flock sxon w f...

linux使用flock檔案鎖

使用linux flock 檔案鎖實現任務鎖定,解決衝突 格式 flock sxun w fd flock sxon w file c command flock help flock util linux ng 2.17.2 usage flock sxun w fd flock sxon w f...

linux 中的檔案鎖

linux執行多個程序同時對一檔案進行讀寫,雖然每乙個read和write都是原子操作,但核心並沒有在兩個讀寫操作之間加以同步。因此,當乙個程序多次呼叫read讀檔案時,就有可能在某兩次讀之間被另一程序所寫,因此,讀的的值將發生錯誤,造成了檔案資料的隨機性衝突,為解決此類併發程序對共享檔案的訪問控制...