シェルスクリプトの二重起動(多重起動)を禁止する †本記事はシェルスクリプトの二重起動(多重起動)を防止するためのサンプルスクリプトを記しています。 参考サイト †二重起動サンプルスクリプト †01: #!/bin/bash 02: 03: if [ $$ != `pgrep -fo $0` ]; then 04: echo `basename $0` is already running. 05: exit 1 06: fi 07: 08: # Script Body 09: for i in `seq 1 5` 10: do 11: echo "Hello PID=$$" 12: sleep 1 13: done 二重起動(多重起動)を防止しているのは3行目〜6行目になります。 サンプルスクリプトの実行結果 †上記のサンプルスクリプトを起動してみました。 sakura@ubuntu:~$ ./multi_start_chk.sh & ./multi_start_chk.sh [1] 1621 Hello PID=1621 multi_start_chk.sh is already running. sakura@ubuntu:~$ Hello PID=1621 Hello PID=1621 Hello PID=1621 Hello PID=1621 [1]+ 終了 ./multi_start_chk.sh bash -x にて実行した場合は以下の出力でした。
関連資料 † |