# lockfile-remove(1) - man - phpMan

[lockfile-progs(1)](https://www.chedong.com/phpMan.php/man/lockfile-progs/1/markdown)                         Lockfile programs                        [lockfile-progs(1)](https://www.chedong.com/phpMan.php/man/lockfile-progs/1/markdown)



## NAME
       lockfile-progs - command-line programs to safely lock and unlock files and mailboxes (via li‐
       blockfile).

## SYNOPSIS
       **mail-lock** [--use-pid] [--retry _retry-count_]
### mail-unlock
       **mail-touchlock** [--oneshot]

       **lockfile-create** [--use-pid] [--retry _retry-count_] [--lock-name] _filename_
       **lockfile-remove** [--lock-name] _filename_
       **lockfile-touch** [--oneshot] [--lock-name] _filename_
       **lockfile-check** [--use-pid] [--lock-name] _filename_

## DESCRIPTION
       Lockfile-progs provides a set a programs that can be used to lock and  unlock  mailboxes  and
       files safely (via liblockfile):

           **mail-lock** - lock the current user's mailbox
           **mail-unlock** - unlock the current user's mailbox
           **mail-touchlock** - touch the lock on the current user's mailbox

           **lockfile-create** - lock a given file
           **lockfile-remove** - remove the lock on a given file
           **lockfile-touch** - touch the lock on a given file
           **lockfile-check** - check the lock on a given file

       By  default,  the _filename_ argument refers to the name of the file to be locked, and the name
       of the lockfile will be _filename_ .lock.  However, if the --lock-name argument  is  specified,
       then _filename_ will be taken as the name of the lockfile itself.

       Each  of  the  mail locking commands attempts to lock /var/spool/mail/<user>, where <user> is
       the name associated with the effective user ID, as determined by via [geteuid(2)](https://www.chedong.com/phpMan.php/man/geteuid/2/markdown).

       Once a file is locked, the lock must be touched at least once every five minutes or the  lock
       will  be considered stale, and subsequent lock attempts will succeed.  Also see the **--use-pid**
       option and the **lockfile**___**[create**(3)](https://www.chedong.com/phpMan.php/man/create/3/markdown) manpage.

       The **lockfile-check** command tests whether or not a valid lock already exists.


## OPTIONS
### -q --quiet
           Suppress any output.  Success or failure will only be indicated by the exit status.

### -v --verbose
           Enable diagnostic output.

### -l --lock-name
           Do not append .lock to the _filename_.   This  option  applies  to  **lockfile-create**,  **lock**‐‐
           **file-remove**, **lockfile-touch**, or **lockfile-check**.

### -p --use-pid
           Write  the  parent  process id (PPID) to the lockfile whenever a lockfile is created, and
           use that pid when checking a lock's validity.  See  the  **lockfile**___**[create**(3)](https://www.chedong.com/phpMan.php/man/create/3/markdown)  manpage  for
           more information.  This option applies to **lockfile-create** and **lockfile-check**.  NOTE: this
           option will not work correctly between machines sharing a filesystem.

### -o --oneshot
           Touch the  lock  and  exit  immediately.   This  option  applies  to  **lockfile-touch**  and
           **mail-touchlock**.   When  not  provided, these commands will run forever, touching the lock
           once every minute until killed.

### -r --retry
           Try to lock _filename_ _retry-count_ times before giving up.  Each attempt will be delayed  a
           bit  longer  than the last (in 5 second increments) until reaching a maximum delay of one
           minute between retries.  If _retry-count_ is unspecified, the default is 9 which will  give
           up after 225 seconds if all 9 lock attempts fail.


## EXAMPLES
### Locking a file during a lengthy process:

         lockfile-create /some/file
         lockfile-touch /some/file &
         # Save the PID of the lockfile-touch process
         BADGER="$!"
         do-something-important-with /some/file
         kill "${BADGER}"
         lockfile-remove /some/file


## EXIT STATUS
       **0**
           For  **lockfile-check**  this indicates that a valid lock exists, otherwise it just indicates
           successful program execution.

### Not 0
           For **lockfile-check** a non-zero exit status indicates that the specified lock does not  ex‐
           ist or is not valid.  For other programs it indicates that some problem was encountered.

## SEE ALSO
       [**maillock**(3)](https://www.chedong.com/phpMan.php/man/maillock/3/markdown)
       [**touchlock**(3)](https://www.chedong.com/phpMan.php/man/touchlock/3/markdown)
       [**mailunlock**(3)](https://www.chedong.com/phpMan.php/man/mailunlock/3/markdown)
       **lockfile**___**[create**(3)](https://www.chedong.com/phpMan.php/man/create/3/markdown)
       **lockfile**___**[remove**(3)](https://www.chedong.com/phpMan.php/man/remove/3/markdown)
       **lockfile**___**[touch**(3)](https://www.chedong.com/phpMan.php/man/touch/3/markdown)
       **lockfile**___**[check**(3)](https://www.chedong.com/phpMan.php/man/check/3/markdown)


## AUTHOR
       Written by Rob Browning <<rlb@defaultvalue.org>>



0.1.19                                       2021-09-03                            [lockfile-progs(1)](https://www.chedong.com/phpMan.php/man/lockfile-progs/1/markdown)
