腳本的單實例運行

腳本單實例運行一般2種做法:

1.腳本內部加判斷邏輯:將某個文件作爲標誌位,文件不存在則執行,文件存在就不執行。

優點:簡單,直觀,很容易理解

缺點:標誌文件因爲異常沒有被刪除的情況下,則機制出現問題;腳本內部增加判斷邏輯,侵入了腳本本身要實現的功能

 

2.【最優】利用flock:在某個文件上上互斥鎖,上鎖失敗則證明目前有實例在運行,上鎖成功則說明自己是唯一實例

flock -xn /tmp/test.lock -c "do_cmd.sh"

優點:不會出現誤判,腳本專注於本身邏輯即可,不需要冗餘判斷,實現優雅

缺點:理解上比1要稍微難一點

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章