Computer Science
FUSER(1) User Commands FUSER(1)
NAME
fuser - identify processes using files or sockets
SYNOPSIS
fuser [-a|-s] [-n space] [-signal] [-kimuv] name ... [-]
[-n space] [-signal] [-kimuv] name ...
fuser -l
fuser -V
DESCRIPTION
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 is omitted in default display
mode.
r root directory.
m mmap'ed file or shared library.
fuser returns a non-zero return code if none of the speci-
fied files is accessed or in case of a fatal error. If at
least one access has been found, fuser returns zero.
In order to look up processes using TCP and UDP sockets,
the corresponding name space has to be selected with the
-n option. Then the socket(s) can be specified by the
local and remote port, and the remote address. All fields
are optional, but commas in front of missing fields must
be present:
[lcl_port][,[rmt_host][,[rmt_port]]]
Either symbolic or numeric values can be used for IP
addresses and port numbers.
OPTIONS
-a Show all files specified on the command line. By
default, only files that are accessed by at least
one process are shown.
-k Kill processes accessing the file. Unless changed
with -signal, SIGKILL is sent. An fuser process
never kills itself, but may kill other fuser pro-
cesses. The effective user ID of the process exe-
cuting fuser is set to its real user ID before
attempting to kill.
-i Ask the user for confirmation before killing a pro-
cess. This option is silently ignored if -k is not
present too.
-l List all known signal names.
-m name specifies a file on a mounted file system or a
block device that is mounted. All processes access-
ing 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.
-n space
Select a different name space. The name spaces file
(file names, the default), udp (local UDP ports),
and tcp (local TCP ports) are supported. For
ports, either the port number or the symbolic name
can be specified. If there is no ambiguity, the
shortcut notation name/space (e.g. name/proto) can
be used.
-s Silent operation. -a, -u and -v are ignored in this
mode.
-signal
Use the specified signal instead of SIGKILL when
killing processes. Signals can be specified either
by name (e.g. -HUP) or by number (e.g. -1).
-u Append the user name of the process owner to each
PID.
-v Verbose mode. Processes are shown in a ps-like
style. The fields PID, USER and COMMAND are similar
to ps. ACCESS shows how the process accesses the
file. If the access is by the kernel (e.g. in the
case of a mount point, a swap file, etc.), kernel
is shown instead of the PID.
-V Display version information.
- Reset all options and set the signal back to
SIGKILL.
FILES
/proc location of the proc file system
EXAMPLES
fuser -km /home kills all processes accessing the file
system /home in any way.
if fuser -s /dev/ttyS1; then :; else something; fi invokes
something if no other process is using /dev/ttyS1.
fuser telnet/tcp shows all processes at the (local) TELNET
port.
RESTRICTIONS
Processes accessing the same file or file system several
times in the same way are only shown once.
If the same object is specified several times on the com-
mand line, some of those entries may be ignored.
fuser may only be able to gather partial information
unless run with privileges. As a consequence, files opened
by processes belonging to other users may not be listed
and executables may be classified as mapped only.
Installing fuser SUID root will avoid problems associated
with partial information, but may be undesirable for secu-
rity and privacy reasons.
udp and tcp name spaces, and UNIX domain sockets can't be
searched with kernels older than 1.3.78.
udp and tcp currently only work for IPv4.
Accesses by the kernel are only shown with the -v option.
The -k option only works on processes. If the user is the
kernel, fuser will print an advice, but take no action
beyond that.
AUTHOR
Werner Almesberger <Werner.Almesberger@epfl.ch>
SEE ALSO
kill(1), killall(1), ps(1), kill(2)
Linux Nov 1, 1998 1
Back to the index