/usr/cluster/bin/halockrun [-nsv] [-e exitcode] lockfilename prog [args]
halockrun ユーティリティーは、ファイルロックを要求し、そのロックを保持したままプログラムを実行するための便利な方法を備えています。このユーティリティーではスクリプトロックがサポートされるので、Bourne シェルなどのスクリプト言語でプログラミングする際には役立ちます。sh(1) を参照してください。
halockrun は、ファイル lockfilename を開き、ファイル全体に対して排他モードでファイルロックを要求します。fcntl(2) を参照してください。次に、引数 args でプログラム prog を子プロセスとして実行し、子プロセスが終了するまで待機します。子が終了すると、halockrun はロックを解除し、子が終了したのと同じ終了コードで終了します。
子プロセスで、prog は危険領域で実行されます。この危険領域は形がよく整われているため、子プロセスがどのような方法で終了してもロックが解除されることです。これらの方法は全体的に効果的です。
ファイル lockfilename を開けない場合や作成できない場合、halockrun は stderr にエラーメッセージを出力し、終了コード 99 で終了します。
次のオプションがサポートされています。
通常、halockrun によって検出されたエラーは終了コード 99 で終了します。–e オプションでは、この特別な終了コードの値を変更できます。
非ブロックモードでロックを要求します。ロックがすぐ許可されない場合、halockrun は prog を実行せずに終了コード 1 でただちに終了します。この動作は –e オプションの影響を受けません。
–n オプションを省略すると、ブロックモードでロックを要求します。つまり、halockrun ユーティリティーは、ロックが使用可能な状態になるまで待機します。
排他モードではなく共有モードのファイルロックを要求します。
標準エラー出力 に冗長出力します。
子プロセスが起動しないなどの halockrun 自体によるエラーが検出された場合、halockrun は終了コード 99 で終了します。–e オプションで終了コードの値をそれ以外の値に変更できます。「オプション 」を参照してください。
それ以外の場合、halockrun は子プロセスの終了コードで終了します。
次の属性については、attributes(5) を参照してください。
|