bash スクリプトで並列実行を無効にする方法

bash スクリプトで並列実行を無効にする方法

1 つのデータベースからいくつかのデータを収集し、要件に従ってフォーマットするためのスクリプトを実行する必要があります。これは、スケジュールされた cron ジョブによって実行される必要があります。ただし、並列実行は行われません。(1 つのプロセスが実行中の場合、他のプロセスは開始されません)。

これを bash スクリプトで実行できるようにしてください。

答え1

ロック ファイルを使用できます。スクリプトの開始時に、ロック ファイルがすでに存在するかどうかを確認し、存在する場合は終了し、存在しない場合は続行します。ロック ファイルを作成したら、スクリプトを実行します。終了する前に、ロック ファイルを削除します。次のようになります。

if [ - f lock ] ; then
exit 1
fi
touch lock
your code
rm lock

関連情報