130 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			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.12 2002/04/20 12:15:22 charnier 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 .
 |