シェルスクリプトでプロセスの多重起動を防止する簡単で安全な方法

February 16, 2014 at 06:35 PM | categories: unix, shell |

flock(1)を使うのが一番安全かつ簡単

LOCKFILE=/tmp/my.lockfile
(
 flock -n 200 || exit 1
 # do something
) 200>$LOCKFILE

タイムアウトを設定したければ-wオプションをつかえばよい。

リードライトロックとしてつかえるので、更新系のスクリプトは1つしか起動したくないけど参照系は並列実行を許す、みたいなことも比較的簡単にできる。


View the discussion thread. blog comments powered by Disqus

About Me

pic
mojavy

Recent posts






Categories



Badges


AltStyle によって変換されたページ (->オリジナル) /