Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
LOCKF(1)		  BSD General Commands Manual		      LOCKF(1)

NAME
     lockf -- execute a	command	while holding a	file lock

SYNOPSIS
     lockf [-ks] [-t seconds] file command [arguments]

DESCRIPTION
     The lockf utility acquires	an exclusive lock on a file, creating it if
     necessary.	 While holding the lock, it executes a command with optional
     arguments.	 After the command completes, lockf releases the lock, and re-
     moves the file unless the -k option is specified.	BSD-style locking is
     used, as described	in flock(2); the mere existence	of the file is not
     considered	to constitute a	lock.

     The following options are supported:

     -k		 Causes	the lock file to be kept (not removed) after the com-
		 mand completes.

     -s		 Causes	lockf to operate silently.  Failure to acquire the
		 lock is indicated only	in the exit status.

     -t	seconds	 Specifies a timeout for waiting for the lock.	By default,
		 lockf waits indefinitely to acquire the lock.	If a timeout
		 is specified with this	option,	lockf will wait	at most	the
		 given number of seconds before	giving up.  A timeout of 0 may
		 be given, in which case lockf will fail unless	it can acquire
		 the lock immediately.

     In	no event will lockf break a lock that is held by another process.

DIAGNOSTICS
     If	lockf successfully acquires the	lock, it returns the exit status pro-
     duced by command.	Otherwise, it returns one of the exit codes defined in
     sysexits(3), as follows:

     EX_TEMPFAIL   The specified lock file was already locked by another
		   process.

     EX_CANTCREAT  lockf was unable to create the lock file, e.g., because of
		   insufficient	access privileges.

     EX_USAGE	   There was an	error on the lockf command line.

     EX_OSERR	   A system call (e.g.,	fork) failed unexpectedly.

SEE ALSO
     flock(2), sysexits(3)

AUTHORS
     John Polstra <jdp@polstra.com>.

FreeBSD				 July 7, 1998			       FreeBSD

NAME | SYNOPSIS | DESCRIPTION | DIAGNOSTICS | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=lockf&manpath=FreeBSD+2.2.8-RELEASE>

home | help