1

cron を介して 5 分ごとに実行するように設定された bash スクリプトがあります。cronがまだ実行中の場合、スクリプトを実行しようとしたときにスクリプトを停止する最良の方法は何ですか?

このhttps://stackoverflow.com/a/12706574/800592のようなものを bash スクリプトの先頭に追加するとうまくいくように見えますか?

コードが何をしようとしているのかわかりませんが、スクリプトの適切な構文は何ですか?

...
The  third form is convenient inside shell scripts, and is usually used
       the following manner:

       (
         flock -n 9 || exit 1
         # ... commands executed under lock ...
       ) 9>/var/lock/mylockfile
...

おそらくこのようなものも機能しますか?

flock -n -e 200 || exit 1
4

2 に答える 2

0

flockは、スクリプトからファイル ロックを管理します。コマンド ライン パラメーター-nは、ファイルをロックできない場合に flock が失敗することを意味するため、||の後にコマンドを実行します。その場合に呼び出されます。あなたの例の9番は、コマンドの最後に定義されたファイルにアクセスするために使用されるファイル記述子です。シェル スクリプトで使用する他のファイルに干渉しないように、十分大きな数値を使用する必要があります。>>>または<を使用して、ファイルをファイル記述子に割り当てます。>または>>を使用すると、ファイルが作成されますが、書き込み権限が必要です。<ファイルが存在する必要がありますが、読み取り権限のみが必要です。直後にスクリプト コードを記述します。群れ -n 9 || 1行を終了します。

于 2013-10-15T14:13:10.113 に答える