於 Linux、FreeBSD 使用 lockf 避免程式未結束,又被再次執行

程式設到 crontab 去執行是很常做的事情, 通常也會避免同時執行過多的 Script, 不過, 通常最怕的是程式要執行很久, 結果遇到程式還沒執行結束, 同樣的程式又被執行了一隻的狀況.

通常有幾種做法:

  1. 把時間拉長避開
  2. 程式寫 file.lock / ps 等, 去判斷是否執行結束
  3. 使用 lockf 來判斷

註: 關於 lockf 安裝可見 - 於 Debian Linux 安裝 lockf 或 參考 flock 用法

閱讀全文〈於 Linux、FreeBSD 使用 lockf 避免程式未結束,又被再次執行〉

於 Debian Linux 安裝 lockf

以前都不知道有 lockf (execute a command while holding a file lock) 這麼方便的程式, 直到 Leeym 長輩 提醒才知道~

不過這個只有 FreeBSD 有, 在 Debian Linux 裡面翻不到, 最後打算找 Source code 來試著改寫看看, 就找到有人改寫好的程式囉~ 😀

  • 註1: 在此先不詳細介紹 lockf 使用時機, 另外, 有空再來包 Debian package, 目前只有 tarball 可以安裝使用~:)
  • 註2: 其它版本 Linux 應該也都可以正常編譯, 只是我沒測試過.

閱讀全文〈於 Debian Linux 安裝 lockf〉