作成したシェルスクリプトを多重起動させたくない場合のテクニックです。マルチスレッドなどでいう排他制御ですね。処理前に処理中を示すロックファイルを作成して、処理が完了した際にロックファイルを消す。シェル実行前にファイルがあれば、処理中だから、ダメねってことです。デーモンなどの起動スクリプトでもよく使われている手ですね。 #!/bin/sh lockfile=lockfile if [ -f $lockfile ]; then echo $0 exit 1 fi touch $lockfile #ここでやりたい処理を書く echo start sleep 10 echo end rm -f $lockfile