lockf(1) FreeBSD 一般コマンドマニュアル

lockf

前のページ 上に戻る 次のページ

lockf




解説

     lockf はファイル file に対して排他的ロックを獲得します。この際、必要なら
     このファイルを生成します。そしてそのロックを保持したまま、引数 arguments
     をつけてコマンド command を実行します。 command の実行が完了すると、
     lockf はロックを開放し、 -k オプションが指定されていなければファイル file
     を削除します。 flock(2) に述べられている BSD スタイルのロック方式が用いら
     れます。すなわち、 file が存在するだけではロックされているとは見なされま
     せん。

     以下のオプションが利用可能です。

     -k          コマンド完了後もロックを保存します (削除しません)。

     -s          メッセージ出力を行いません。ロック獲得の失敗は、終了ステータ
                 スにのみ反映されます。

     -t seconds  ロック待ちのタイムアウト値を指定します。デフォルトでは、
                 lockf はロック獲得を永遠に待ち続けます。このオプションにより
                 タイムアウト値が指定されていれば、 lockf はロック獲得をあきら
                 めるまでに最大 seconds 秒待ちます。タイムアウトとしては 0 を
                 指定することもでき、その場合 lockf はロック獲得に失敗すると即
                 座に終了します。

     いかなる場合でも、他のプロセスが保持しているロックを lockf が破棄すること
     はありません。


診断

     ロック獲得に成功すると、 lockfcommand の終了ステータスを返します。そ
     れ以外の場合、 lockfsysexits(3) にて定義されている以下のいずれかの終
     了コードを返します。

     EX_TEMPFAIL   指定されたロックファイルは他のプロセスによって既にロックさ
                   れています。

     EX_CANTCREAT  lockf はロックファイルを生成できませんでした。原因として
                   は、例えば、適切なアクセス権がないことが考えられます。

     EX_USAGE      lockf のコマンドラインにエラーがあります。

     EX_OSERR      システムコール(例えば fork)が予期せず失敗しました。


関連項目

     flock(2), sysexits(3).


歴史

     lockf が最初に登場したのは FreeBSD 2.2 です。


作者

     John Polstra <jdp@polstra.com>.

FreeBSD 4.4                      July 7, 1998                      FreeBSD 4.4

ABELNET VPSサービス