読者です 読者をやめる 読者になる 読者になる

[bash] シェルスクリプト2重起動防止

参考URL

環境によっては、以下プロセス数1の箇所を2にする必要がある。

#!/usr/bin/bash
if (( `ps -ef|grep $0|grep -v grep | wc -l` > 1 ));then
        echo "2重起動です"
        exit 1
fi

追記:
t2y-1979 から素敵なご指摘を頂いた。今後はこっちを使うことにします!

if [ -n "$(pidof $0)" ]; then
  echo "2重起動です"
  exit 1
fi