2重起動したくない時のための起動スクリプト

1時間に1度起動するスクリプトが実行し終わるまでに1時間以上かかってしまうかもしれないとしたら?
前の処理が終わる前に新しい処理が始まってしまうと処理しているデータの整合性が失われて困ったことになるかもしれない。
なので、ロックファイルを使って処理が2重に起動しないようにする起動スクリプトを書いてみた。
イデアは大したことないけれど、ちゃんと動かすためには意外と色々気をつけないといけない。

追記:
pgrepを使うやり方のほうがシンプルで良いね。

強制終了した時に上記をpgrepを使って書き直すとこんな感じか。