# fuser

## PROLOG



           This manual page is part of the POSIX Programmer's Manual.  The
           Linux implementation of this interface may differ (consult the
           corresponding Linux manual page for details of Linux behavior), or
           the interface may not be implemented on Linux.
    


## NAME



           fuser — list process IDs of all processes that have one or more
           files open
    


## SYNOPSIS



           fuser **[** -cfu**]**_file_...
    


## DESCRIPTION



           The _fuser_ utility shall write to standard output the process IDs
           of processes running on the local system that have one or more
           named files open.  For block special devices, all processes using
           any file on that device are listed.
    
           The _fuser_ utility shall write to standard error additional
           information about the named files indicating how the file is being
           used.
    
           Any output for processes running on remote systems that have a
           named file open is unspecified.
    
           A user may need appropriate privileges to invoke the _fuser_
           utility.
    


## OPTIONS



           The _fuser_ utility shall conform to the Base Definitions volume of
           POSIX.1‐2017, _Section 12.2_ , _Utility Syntax Guidelines_.
    
           The following options shall be supported:
    
           **-c** The file is treated as a mount point and the utility
                     shall report on any files open in the file system.
    
           **-f** The report shall be only for the named files.
    
           **-u** The user name, in parentheses, associated with each
                     process ID written to standard output shall be written
                     to standard error.
    


## OPERANDS



           The following operand shall be supported:
    
           _file_      A pathname on which the file or file system is to be
                     reported.
    


## STDIN



           Not used.
    


## INPUT FILES



           The user database.
    


## ENVIRONMENT VARIABLES



           The following environment variables shall affect the execution of
           _fuser_ :
    
           _LANG_      Provide a default value for the internationalization
                     variables that are unset or null. (See the Base
                     Definitions volume of POSIX.1‐2017, _Section 8.2_ ,
                     _Internationalization Variables_ for the precedence of
                     internationalization variables used to determine the
                     values of locale categories.)
    
           _LC_ALL_    If set to a non-empty string value, override the values
                     of all the other internationalization variables.
    
           _LC_CTYPE_  Determine the locale for the interpretation of sequences
                     of bytes of text data as characters (for example,
                     single-byte as opposed to multi-byte characters in
                     arguments).
    
           _LC_MESSAGES_
                     Determine the locale that should be used to affect the
                     format and contents of diagnostic messages written to
                     standard error.
    
           _NLSPATH_   Determine the location of message catalogs for the
                     processing of _LC_MESSAGES_.
    


## ASYNCHRONOUS EVENTS



           Default.
    


## STDOUT



           The _fuser_ utility shall write the process ID for each process
           using each file given as an operand to standard output in the
           following format:
    
               "%d", <_process_id_ >
    


## STDERR



           The _fuser_ utility shall write diagnostic messages to standard
           error.
    
           The _fuser_ utility also shall write the following to standard
           error:
    
            *  The pathname of each named file is written followed
               immediately by a <colon>.
    
            *  For each process ID written to standard output, the character
               **'c'** shall be written to standard error if the process is using
               the file as its current directory and the character **'r'** shall
               be written to standard error if the process is using the file
               as its root directory. Implementations may write other
               alphabetic characters to indicate other uses of files.
    
            *  When the **-u** option is specified, characters indicating the use
               of the file shall be followed immediately by the user name, in
               parentheses, corresponding to the real user ID of the process.
               If the user name cannot be resolved from the real user ID of
               the process, the real user ID of the process shall be written
               instead of the user name.
    
           When standard output and standard error are directed to the same
           file, the output shall be interleaved so that the filename appears
           at the start of each line, followed by the process ID and
           characters indicating the use of the file. Then, if the **-u** option
           is specified, the user name or user ID for each process using that
           file shall be written.
    
           A <newline> shall be written to standard error after the last
           output described above for each _file_ operand.
    


## OUTPUT FILES



           None.
    


## EXTENDED DESCRIPTION



           None.
    


## EXIT STATUS



           The following exit values shall be returned:
    
            0    Successful completion.
    
           >0    An error occurred.
    


## CONSEQUENCES OF ERRORS



           Default.
    
           _The following sections are informative._
    


## APPLICATION USAGE



           None.
    


## EXAMPLES



           The command:
    
               fuser -fu .
    
           writes to standard output the process IDs of processes that are
           using the current directory and writes to standard error an
           indication of how those processes are using the directory and the
           user names associated with the processes that are using the
           current directory.
    
               fuser -c <_mount point_ >
    
           writes to standard output the process IDs of processes that are
           using any file in the file system which is mounted on <_mount_
           _point_ > and writes to standard error an indication of how those
           processes are using the files.
    
               fuser <_mount point_ >
    
           writes to standard output the process IDs of processes that are
           using the file which is named by <_mount point_ > and writes to
           standard error an indication of how those processes are using the
           file.
    
               fuser <_block device_ >
    
           writes to standard output the process IDs of processes that are
           using any file which is on the device named by <_block device_ > and
           writes to standard error an indication of how those processes are
           using the file.
    
               fuser -f <_block device_ >
    
           writes to standard output the process IDs of processes that are
           using the file <_block device_ > itself and writes to standard error
           an indication of how those processes are using the file.
    


## RATIONALE



           The definition of the _fuser_ utility follows existing practice.
    


## FUTURE DIRECTIONS



           None.
    


* * *