Jump to content

fuser (Unix)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 207.47.61.4 (talk) at 22:48, 22 April 2011 (network usage added). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

fuser is a UNIX command used to show which processes are using a specified file, file system, or 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)

fuser displays the PIDs 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:

c
current directory.
e
executable being run.
f
open file.
F
open file for writing.
r
root directory.
m
mmap'ed file or shared library

fuser 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

fuser 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.

Options

-k
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
-i
interactive mode. Prompt before killing process
-v
verbose.
-u
append username
-a
display all files
-m
name specifies a file on a mounted file system or a block device that is mounted. All processes accessing files on that file system are listed. If a directory file is specified, it is automatically changed to name/. to use any file system that might be mounted on that directory.

Also note that -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'

  • 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)

fuser: identify processes using files or sockets – Shell and Utilities Reference, The Single UNIX Specification, Version 4 from The Open Group