Bashスクリプトで簡単に二重起動を防ぐ方法

      2016/03/04

Webサービスを実装していると、バッチ起動のためにBashのスクリプトを書いたりすることがあります。

バッチの仕様上、2つ同時に起動をさせたくない時もあると思います。簡単に二重起動を防ぐ記述を紹介します。

■スクリプトサンプル


#!/bin/bash

if [ $$ -ne $(pgrep -fo "$0") ]; then
  echo "すでに起動されています"
  exit 1
fi

echo "ここにコマンドを記述する"


上記のように記述すると、すでにバッチが起動している時に再度同じバッチを起動しようとすると「すでに起動されています」と表示されてその下のコマンドは実行されません。

結構簡単にできるので、やってみましょう。

megane

megane

最近、個人事業主から法人へと進化しました。 エンジニア歴13年位です。PHPとかMysqlを使ってWebシステムを構築します。 Javaも書きます。 CakePHPも使います。 サーバのチューニングもごりごりやります。 あと、お肉と自動車が好きです。Twitterとか申請どうぞ。

 - CentOS ,