doc/ja_JP.eucJP/man/man1/lockf.1
SUZUKI Koichi 3947840b05 Catch up with 5.3-BETA1.
Interpretation of a chunk in cut.1
  was helped by: Yoshihiko Sarumaru <mistral@imasy.or.jp>, hrs
2004-09-24 06:50:37 +00:00

130 lines
3.4 KiB
Groff

.\"
.\" Copyright (C) 1998 John D. Polstra. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY JOHN D. POLSTRA AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL JOHN D. POLSTRA OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/usr.bin/lockf/lockf.1,v 1.13 2004/07/02 22:22:27 ru Exp %
.\" $FreeBSD$
.\"
.Dd July 7, 1998
.Os
.Dt LOCKF 1
.Sh 名称
.Nm lockf
.Nd ファイルをロックしてコマンドを実行する
.Sh 書式
.Nm
.Op Fl ks
.Op Fl t Ar seconds
.Ar file
.Ar command
.Op Ar arguments
.Sh 解説
.Nm
はファイル
.Ar file
に対して排他的ロックを獲得します。
この際、必要ならこのファイルを生成します。
そしてそのロックを保持したまま、
引数
.Ar arguments
をつけてコマンド
.Ar command
を実行します。
.Ar command
の実行が完了すると、
.Nm
はロックを解放し、
.Fl k
オプションが指定されていなければ
ファイル
.Ar file
を削除します。
.Xr flock 2
に述べられている
.Bx
スタイルのロック方式が用いられます。
すなわち、
.Ar file
が存在するだけではロックされているとは見なされません。
.Pp
以下のオプションが利用可能です。
.Bl -tag -width Fl
.It Fl k
コマンド完了後もロックを保存します (削除しません)。
.It Fl s
メッセージ出力を行いません。
ロック獲得の失敗は、終了ステータスにのみ反映されます。
.It Fl t Ar seconds
ロック待ちのタイムアウト値を指定します。
デフォルトでは、
.Nm
はロック獲得を永遠に待ち続けます。
このオプションによりタイムアウト値が指定されていれば、
.Nm
はロック獲得をあきらめるまでに最大
.Ar seconds
秒待ちます。
タイムアウトとしては 0 を指定することもでき、
その場合
.Nm
はロック獲得に失敗すると即座に終了します。
.El
.Pp
いかなる場合でも、
他のプロセスが保持しているロックを
.Nm
が破棄することはありません。
.Sh 診断
ロック獲得に成功すると、
.Nm
.Ar command
の終了ステータスを返します。
それ以外の場合、
.Nm
.Xr sysexits 3
にて定義されている以下のいずれかの終了コードを返します。
.Bl -tag -width F_CANTCREATX
.It Dv EX_TEMPFAIL
指定されたロックファイルは他のプロセスによって既にロックされています。
.It Dv EX_CANTCREAT
.Nm
ユーティリティはロックファイルを生成できませんでした。
原因としては、例えば、適切なアクセス権がないことが考えられます。
.It Dv EX_USAGE
.Nm
のコマンドラインにエラーがあります。
.It Dv EX_OSERR
システムコール(例えば fork)が予期せず失敗しました。
.El
.Sh 関連項目
.Xr flock 2 ,
.Xr sysexits 3 .
.Sh 歴史
.Nm
ユーティリティが最初に登場したのは
.Fx 2.2
です。
.Sh 作者
.An John Polstra Aq jdp@polstra.com .