次のロックメカニズムは、cron
ジョブが同時に実行されるのを防ぐために使用されます。
#!/bin/bash
echo "Before critical section"
(
flock -e 200
echo "In critical section"
sleep 5
) 200>/tmp/blah.lockfile
echo "After critical section"
2つのインスタンスを一緒に実行する場合、後者は最初のインスタンスが終了するまで待機してから実行します。これにより、実行を待機しているスクリプトのバックログが発生する可能性があります。
flock
このスクリプトを変更して、ロックを取得できない場合にスクリプトを終了するようにするにはどうすればよいですか?私は-n
成功せずに試しました。