fuser Command
Purpose
Identifies processes using a file or file structure.
Syntax
fuser [[-c | -C | -f ] [-x ] |-d ] [ -k | -K { SignalNumber | SignalName }] [ -u ] [ -V ]File ...
Description
The fuser command lists the process numbers of local processes that use the local or remote files specified by the File parameter. For block special devices, the command lists the processes that use any file on that device.
Each process number is followed by a letter indicating how the process uses the file:
Item | Description |
---|---|
c | Uses the file as the current directory. |
e | Uses the file as a program's executable object. |
r | Uses the file as the root directory. |
s | Uses the file as a shared library (or other loadable object). |
The process numbers are written to standard output in a line with spaces between process numbers. A new line character is written to standard error after the last output for each file operand. All other output is written to standard error.
The fuser command will not detect processes that have mmap regions where that associated file descriptor has since been closed. Also, processes using FIFOs (named pipes) will not be detected until the FIFO is fully opened. For example, a process waiting for an open system call to complete will not be seen by the fuser command.
The fuser command is used to determine the processes that are
using a file system. If the file system is a network file system (NFS) and the NFS server is not
responding, the fuser command might hang. To avoid such a situation, you can set
the FUSER_VERSION
environment variable to 1.
Flags
Item | Description |
---|---|
-c | Reports on any open files in the file system containing File. |
-C | Reports on any open files in the file system that is mounted at the directory specified by the File parameter. If the File parameter is not a mount point, the command reports an error. |
-d | Reports on any open files which have been unlinked (deleted) from the file system containing File. When used in conjunction with the -V flag, it also reports the inode number and size of the deleted file. |
-f | Reports on open instances of File only. |
-K SignalNumber | SignalName | Sends the specified signal to each local process. Only the root user can kill a process of another user. Signal can be specified as either a SignalName, such as KILL for the SIGKILL signal or a SignalNumber, such as 9. Valid values for SignalName are those which are displayed by the kill -l command. |
-k | Sends the SIGKILL signal to each local process. Only
the root user can kill a process of another user. Note: fuser -k or -K might not be able to detect and
kill new processes that are created immediately after the program
starts to run.
|
-u | Provides the login name for local processes in parentheses after the process number. |
-V | Provides verbose output. |
-x | Used in conjunction with -c or -f, reports on executable and loadable objects in addition to the standard fuser output. |
Security
Examples
- To list the process numbers of local processes using the /etc/passwd file, enter:
fuser /etc/passwd
- To list the process numbers and user login names of processes
using the /etc/filesystems file, enter:
fuser -u /etc/filesystems
- To terminate all of the processes using a given file system, enter:
orfuser -k -x -u -c /dev/hd1
fuser -kxuc /home
Either command lists the process number and user name, and then terminates each process that is using the /dev/hd1 (/home) file system. Only the root user can terminate processes that belong to another user. You might want to use this command if you are trying to unmount the /dev/hd1 file system and a process that is accessing the /dev/hd1 file system prevents this.
- To list all processes that are using a file which has been deleted
from a given file system, enter:
fuser -d /usr
Files
Item | Description |
---|---|
/dev/kmem | Used for the system image. |
/dev/mem | Also used for the system image. |