
我需要編寫一個腳本來從一個資料庫收集一些資料並根據要求進行格式化,這應該由計劃的 cron 作業運行。但不應該有並行運行。 (如果一個進程正在運行,則其他進程不應啟動)。
幫我在 bash 腳本中做到這一點。
答案1
您可以使用鎖定檔案。在腳本開始時檢查鎖定檔案是否已存在,如果存在則退出,如果不存在則繼續。建立鎖定檔案時。執行你的腳本。並在退出之前刪除鎖定檔案。像這樣的東西:
if [ - f lock ] ; then
exit 1
fi
touch lock
your code
rm lock