flock man page on Slackware

Man page or keyword search:  
man Server   14563 pages
apropos Keyword Search (all sections)
Output format
Slackware logo
[printable version]

FLOCK(1)			 User Commands			      FLOCK(1)

NAME
       flock - manage locks from shell scripts

SYNOPSIS
       flock [options] <file> -c <command>
       flock [options] <directory> -c <command>
       flock [options] <file descriptor number>

DESCRIPTION
       This  utility  manages  flock(2) locks from within shell scripts or the
       command line.

       The first and second forms wrap the lock around the  executing  a  com‐
       mand,  in a manner similar to su(1) or newgrp(1).  It locks a specified
       file or directory, which is created (assuming appropriate permissions),
       if  it does not already exist.  By default, if the lock cannot be imme‐
       diately acquired, flock waits until the lock is available.

       The third form uses open file by file descriptor number.	 See  examples
       how that can be used.

OPTIONS
       -s, --shared
	      Obtain a shared lock, sometimes called a read lock.

       -x, -e, --exclusive
	      Obtain  an  exclusive lock, sometimes called a write lock.  This
	      is the default.

       -u, --unlock
	      Drop a lock.  This is usually not	 required,  since  a  lock  is
	      automatically  dropped when the file is closed.  However, it may
	      be required in special cases, for example if the	enclosed  com‐
	      mand group may have forked a background process which should not
	      be holding the lock.

       -n, --nb, --nonblock
	      Fail (with an exit code of 1) rather than wait if the lock  can‐
	      not be immediately acquired.

       -w, --wait, --timeout seconds
	      Fail  (with  an  exit  code of 1) if the lock cannot be acquired
	      within seconds.  Decimal fractional values are allowed.

       -o, --close
	      Close the file descriptor on which the lock is held before  exe‐
	      cuting  command .	  This	is  useful  if	command spawns a child
	      process which should not be holding the lock.

       -c, --command command
	      Pass a single command, without arguments, to the shell with -c.

       -h, --help
	      Print a help message.

       -V, --version
	      Show version number and exit.

EXAMPLES
       shell1> flock /tmp -c cat
       shell2> flock -w .007 /tmp -c echo; /bin/echo $?
	      Set exclusive lock to directory /tmp and the second command will
	      fail.

       shell1> flock -s /tmp -c cat
       shell2> flock -s -w .007 /tmp -c echo; /bin/echo $?
	      Set  shared  lock	 to directory /tmp and the second command will
	      not fail.	 Notice that attempting to  get	 exclusive  lock  with
	      second command would fail.

       (
	 flock -n 9 || exit 1
	 # ... commands executed under lock ...
       ) 9>/var/lock/mylockfile
	      The  form	 is convenient inside shell scripts.  The mode used to
	      open the file doesn't matter to flock; using > or >> allows  the
	      lockfile	to  be	created if it does not already exist, however,
	      write permission is required.  Using < requires  that  the  file
	      already exists but only read permission is required.

EXIT STATUS
       The  command  uses  sysexits.h return values for everything else but an
       options -n or -w failures which return 1.

AUTHOR
       H. Peter Anvin ⟨hpa@zytor.com⟩

COPYRIGHT
       Copyright © 2003-2006 H. Peter Anvin.
       This is free software; see the source for copying conditions.  There is
       NO  warranty;  not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
       PURPOSE.

SEE ALSO
       flock(2)

AVAILABILITY
       The flock command is part of the util-linux package  and	 is  available
       from  Linux  Kernel Archive ⟨ftp://ftp.kernel.org/pub/linux/utils/util-
       linux/⟩.

util-linux			September 2011			      FLOCK(1)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server Slackware

List of man pages available for Slackware

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net