fuser (Unix)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Operating systemUnix and Unix-like

The Unix command fuser is used to show which processes are using a specified computer file, file system, or Unix socket.


For example, to check process IDs and users accessing a USB drive:

$ fuser -m -u /mnt/usb1
/mnt/usb1:   1347c(root)  1348c(guido)  1349c(guido)

The command displays the process identifiers of processes using the specified files or file systems. In the default display mode, each file name is followed by a letter denoting the type of access:

current directory.
executable being run.
open file.
open file for writing.
root directory.
mmap'ed file or shared library

The command can also be used to check what processes are using a network port:

$ fuser -v -n tcp 80
                     USER        PID ACCESS COMMAND
80/tcp:              root       3067 F.... (root)httpd
                     apache     3096 F.... (apache)httpd
                     apache     3097 F.... (apache)httpd

The command returns a non-zero code if none of the files are accessed or in case of a fatal error. If at least one access has succeeded, fuser returns zero. The output of "fuser" may be useful in diagnosing "resource busy" messages arising when attempting to unmount filesystems.


kills all process accessing a file. For example, fuser -k /path/to/your/filename kills all processes accessing this directory without confirmation. Use -i for confirmation
interactive mode. Prompt before killing process
append username
display all files

The option -k sends a SIGKILL to all process. Use the -signal to send a different signal. For a list of signals supported by the fuser run 'fuser -l'

Related commands[edit]

  • The list of all open files and the processes that have them open can be obtained through the lsof command.
  • The equivalent command on BSD operating systems is fstat(1).

External links[edit]
