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 하지만 파기할 것은 없습니다.

진단
락 획득에 성공하면(자), lockf 하 command 의 종료 스테이터스를 돌려줍니다. 그 이외의 경우, lockf 하 sysexits(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>.