# lslocks

## NAME



           lslocks - list local system locks
    


## SYNOPSIS



           **lslocks**[options]
    


## DESCRIPTION



           **lslocks** lists information about all the currently held file locks
           in a Linux system.
    


## OPTIONS



           **-b** , **--bytes**
               Print sizes in bytes rather than in human-readable form.
    
               By default, sizes are shown in units that are powers of 1024
               bytes. The formal abbreviations for these units (KiB, MiB,
               GiB, ...) are further shortened to just their first letter: K,
               M, G, ....
    
           **-H** , **--list-columns**
               List the columns that can be specified with the **--output**
               option. Can be used with **--json** or **--raw** to get the list in a
               machine-readable format.
    
           **-i** , **--noinaccessible**
               Ignore lock files which are inaccessible for the current user.
    
           **-J** , **--json**
               Use JSON output format.
    
           **-n** , **--noheadings**
               Do not print a header line.
    
           **-o** , **--output** _list_
               Specify which output columns to print. Use **--help** to get a
               list of all supported columns.
    
               The default list of columns may be extended if _list_ is
               specified in the format _+list_ (e.g., **lslocks -o +BLOCKER**).
    
           **--output-all**
               Output all available columns.
    
           **-p** , **--pid** _pid_
               Display only the locks held by the process with this _pid_.
    
           **-r** , **--raw**
               Use the raw output format.
    
           **-u** , **--notruncate**
               Do not truncate text in columns.
    
           **-h** , **--help**
               Display help text and exit.
    
           **-V** , **--version**
               Display version and exit.
    


## OUTPUT



           COMMAND
               The command name of the process holding the lock.
    
           PID
               The process ID of the process.
    
           TYPE
               The type of lock; can be LEASE (created with fcntl(2)), FLOCK
               (created with flock(2)), POSIX (created with fcntl(2) and
               lockf(3)) or OFDLCK (created with fcntl(2)).
    
           SIZE
               Size of the locked file.
    
           INODE
               The inode number.
    
           MAJ:MIN
               The major:minor device number.
    
           MODE
               The lock’s access permissions (read, write). If the process is
               blocked and waiting for the lock, then the mode is postfixed
               with an '*' (asterisk).
    
           M
               Whether the lock is mandatory; 0 means no (meaning the lock is
               only advisory), 1 means yes. (See fcntl(2).)
    
           START
               Relative byte offset of the lock.
    
           END
               Ending offset of the lock.
    
           PATH
               Full path of the lock. If none is found, or there are no
               permissions to read the path, it will fall back to the
               device’s mountpoint and "..." is appended to the path. The
               path might be truncated; use **--notruncate** to get the full
               path.
    
           BLOCKER
               The PID of the process which blocks the lock.
    
           HOLDERS
               The holder(s) of the lock. The format of the holder is
               _PID_ ,_COMMAND_ ,_FD_. If a lock is an open file description-oriented
               lock, there can be more than one holder for the lock. See the
               NOTES below.
    


## NOTES



           The **lslocks** command is meant to replace the **lslk**(8) command,
           originally written by Victor A. Abell <abe@purdue.edu> and
           unmaintained since 2001.
    
           "The process holding the lock" for leases, FLOCK locks, and OFD
           locks is a fake-concept. They are associated with the open file
           description on which they are acquired. With fork(2) and/or
           cmsg(3), multiple processes can share an open file description. So
           the holder process of a lease (or a lock) is not uniquely
           determined. **lslocks** shows the one of the holder processes in
           COMMAND and PID columns.
    


## AVAILABILITY



           The **lslocks** command is part of the util-linux package which can be
           downloaded from Linux Kernel Archive
           <https://www.kernel.org/pub/linux/utils/util-linux/>. This page is
           part of the _util-linux_ (a random collection of Linux utilities)
           project. Information about the project can be found at 
           ⟨https://www.kernel.org/pub/linux/utils/util-linux/⟩. If you have a
           bug report for this manual page, send it to
           util-linux@vger.kernel.org. This page was obtained from the
           project's upstream Git repository
           ⟨git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git⟩ on
           2025-08-11. (At that time, the date of the most recent commit that
           was found in the repository was 2025-08-05.) If you discover any
           rendering problems in this HTML version of the page, or you
           believe there is a better or more up-to-date source for the page,
           or you have corrections or improvements to the information in this
           COLOPHON (which is _not_ part of the original manual page), send a
           mail to man-pages@man7.org
    
    util-linux 2.42-start-521-ec46  2025-08-09                     _LSLOCKS_(8)
    


* * *