-1

リモートホストで、3つのプログラム A 、 B 、 C を実行したいのですが、それらを異なる時間に実行したいので、 A が実行されている場合、 B と C は実行できないため、 A を実行したいときにそれを検出した場合ファイルはロックされています ロックが解除されるまで待ちます

私の考えは、次のようなプロセス間のミューテックスロックのように、これらのプログラム間でロックファイルを作成することです:

ファイルのロックが解除されている場合。次に、ファイル ./programA をロックし、ファイル fi をロック解除します。

誰かがflockこの目的に使用できると私に言った私はグーグルで検索したコードは次のようなものです: ( flock -s 200 ./program ) 200>/var/lock/mylockfile

しかし、シェルスクリプトとしての作り方がわかりません私はシェルスクリプトをtrylock.shのように作ります

    #!/bin/bash
    set -e

    (
    flock -x -w 10 200
    sleep 20
    ) 200 > lockfile

私がそれを実行すると、私は得ました

trylock.sh: line 7: syntax error near unexpected token `200'

また、ロックタイムアウトを無期限に設定する方法

誰かがスクリプトの例を教えてもらえますか? ありがとう

4

1 に答える 1