blog.monophile.net

Takaaki Yamamoto

東京工業大学において計算機科学と応用数学を学び、 情報科学芸術大学院大学[IAMAS]においてメディア表現を専攻し修了。 digitiminimi Inc. において、インフラエンジニアとして生計をたててている。

各種環境の構築と管理を承ります。

  • 仮想環境: Openstack, GCP, AWS, Azure, ...
  • アプリケーション: WordPress, GitLab, Redmine, ...

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