fuser - list process IDs of all processes that have one or more files open
[XSI] fuser [ -cfu ] file ...
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 privilege to invoke the fuser utility.
The fuser utility shall conform to the Base Definitions volume of IEEE Std 1003.1-2001, Section 12.2, Utility Syntax Guidelines.
The following options shall be supported:
- The file is treated as a mount point and the utility shall report on any files open in the file system.
- The report shall be only for the named files.
- The user name, in parentheses, associated with each process ID written to standard output shall be written to standard error.
The following operand shall be supported:
- A pathname on which the file or file system is to be reported.
The user database.
The following environment variables shall affect the execution of fuser:
- Provide a default value for the internationalization variables that are unset or null. (See the Base Definitions volume of IEEE Std 1003.1-2001, Section 8.2, Internationalization Variables for the precedence of internationalization variables used to determine the values of locale categories.)
- If set to a non-empty string value, override the values of all the other internationalization variables.
- 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).
- Determine the locale that should be used to affect the format and contents of diagnostic messages written to standard error.
- Determine the location of message catalogs for the processing of LC_MESSAGES .
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>
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 process' real user ID. If the user name cannot be resolved from the process' real user ID, the process' real user ID 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.
The following exit values shall be returned:
- Successful completion.
- An error occurred.
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.
The definition of the fuser utility follows existing practice.
First released in Issue 5.