スポンサーリンク

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

名称

lockf − ファイルをロックしてコマンドを実行する

書式

lockf [−ks] [−t seconds] file command [arguments]

解説

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 10.0 July 7, 1998 FreeBSD 10.0

スポンサーリンク