blog.monophile.net

Takaaki Yamamoto

東京工業大学において計算機科学と応用数学を学び、情報科学芸術大学院大学[IAMAS]においてメディア表現を専攻し修了。 現在は digitiminimi Inc. において、インフラエンジニアとして生計をたててている。 また、計算を主題に制作を行い、現代音楽作品や公共インスタレーション作品など技術提供を行う。 三輪眞弘に師事する。

List

flockコマンドでデーモン管理

いきさつ

デーモンを一つだけ簡単に起動したい。 つまりロックしたいわけです。 そういう時はflockというコマンドを使えば良いみたい。

flockとnohupを使う

ロック機能を使うためには何でも良いのでファイルが必要なのでlockfileを生成し、 それを用いて“sleep 3600”というデーモンもどきを起動します。

$ touch lockfile
$ nohup flock --timeout 0 lockfile -c "sleep 3600" &
$ nohup flock --timeout 0 lockfile -c "sleep 3600" &

これで2行目のコマンドは成功しますが、3行目のコマンドは失敗します。 つまり一つだけのプロセスが走っている状態になります。

備考

このやり方はすごく簡易的なモノだと思うので、 厳密なシステムでロック機構を使う場合は違う方法をお試しください。

参考URL