phpMan > man > fuser(1)

Markdown | JSON | MCP    

TLDR: fuser (tldr-pages)

Display process IDs currently using files or sockets.

  • Find which processes are accessing a file or directory
    fuser {{path/to/file_or_directory}}
  • Show more fields (`USER`, `PID`, `ACCESS`, and `COMMAND`)
    fuser {{-v|--verbose}} {{path/to/file_or_directory}}
  • Identify processes using a TCP socket
    fuser {{port}}/tcp
  • Kill all processes accessing a file or directory (sends the `SIGKILL` signal)
    fuser {{-k|--kill}} {{path/to/file_or_directory}}
  • Find which processes are accessing the filesystem containing a specific file or directory
    fuser {{-m|--mount}} {{path/to/file_or_directory}}
  • Kill all processes with a TCP connection on a specific port
    fuser {{-k|--kill}} {{port}}/tcp
FUSER(1)                                    User Commands                                   FUSER(1)



NAME
       fuser - identify processes using files or sockets

SYNOPSIS
       fuser [-fuv] [-a|-s] [-4|-6] [-c|-m|-n space] [ -k [-i] [-M] [-w] [-SIGNAL] ] name ...
       fuser -l
       fuser -V

DESCRIPTION
       fuser  displays  the PIDs of processes using the specified files or file systems.  In the de‐
       fault 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.
              F      open file for writing.  F is omitted in default display mode.
              r      root directory.
              m      mmap'ed file or shared library.
              .      Placeholder, omitted in default display mode.

       fuser returns a non-zero return code if none of the specified 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. By default fuser will look in both IPv6 and IPv4 sockets.  To
       change  the  default  behavior, use the -4 and -6 options.  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.

       fuser outputs only the PIDs to stdout, everything else is sent to stderr.

OPTIONS
       -a, --all
              Show  all  files  specified  on the command line.  By default, only files that are ac‐
              cessed by at least one process are shown.

       -c     Same as -m option, used for POSIX compatibility.

       -f     Silently ignored, used for POSIX compatibility.

       -k, --kill
              Kill processes accessing the file.  Unless changed with -SIGNAL, SIGKILL is sent.   An
              fuser  process  never kills itself, but may kill other fuser processes.  The effective
              user ID of the process executing fuser is set to its real user ID before attempting to
              kill.

       -i, --interactive
              Ask  the  user for confirmation before killing a process.  This option is silently ig‐
              nored if -k is not present too.

       -I, --inode
              For the name space file let all comparisons be based on the inodes  of  the  specified
              file(s) and never on the file names even on network based file systems.

       -l, --list-signals
              List all known signal names.

       -m NAME, --mount NAME
              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  is  speci‐
              fied,  it  is  automatically  changed  to  NAME/  to use any file system that might be
              mounted on that directory.

       -M, --ismountpoint
              Request will be fulfilled only if NAME specifies a mountpoint.  This is an  invaluable
              seat  belt  which  prevents  you  from killing the machine if NAME happens to not be a
              filesystem.

       -w     Kill only processes which have write access.  This option is silently ignored if -k is
              not present too.

       -n NAMESPACE, --namespace NAMESPACE
              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., 80/tcp) can be used.

       -s, --silent
              Silent operation.  -u and -v are ignored in this mode.  -a must not be used with -s.

       -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).  This option is
              silently ignored if the -k option is not used.

       -u, --user
              Append the user name of the process owner to each PID.

       -v, --verbose
              Verbose mode.  Processes are shown in a ps-like style.  The fields PID, USER and  COM‐
              MAND are similar to ps.  ACCESS shows how the process accesses the file.  Verbose mode
              will also show when a particular file is being accessed as a mount point, knfs  export
              or swap file.  In this case kernel is shown instead of the PID.

       -V, --version
              Display version information.

       -4, --ipv4
              Search  only  for  IPv4  sockets.  This option must not be used with the -6 option and
              only has an effect with the tcp and udp namespaces.

       -6, --ipv6
              Search only for IPv6 sockets.  This option must not be used with  the  -4  option  and
              only has an effect with the tcp and udp namespaces.

       -      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 command; fi
              invokes command 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 command line, some of those entries  may
       be ignored.

       fuser may only be able to gather partial information unless run with privileges.  As a conse‐
       quence, files opened by processes belonging to other users may not be listed and  executables
       may be classified as mapped only.

       fuser  cannot report on any processes that it doesn't have permission to look at the file de‐
       scriptor table for.  The most common time this problem occurs is when looking for TCP or  UDP
       sockets when running fuser as a non-root user.  In this case fuser will report no access.

       Installing  fuser  SUID root will avoid problems associated with partial information, but may
       be undesirable for security and privacy reasons.

       udp and tcp name spaces, and UNIX domain sockets can't be searched with  kernels  older  than
       1.3.78.

       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 ad‐
       vice, but take no action beyond that.

BUGS
       fuser -m /dev/sgX will show (or kill with the -k flag) all processes, even if you don't  have
       that device configured.  There may be other devices it does this for too.

       The mount -m option will match any file within the same device as the specified file, use the
       -M option as well if you mean to specify only the mount point.

SEE ALSO
       kill(1), killall(1), lsof(8), pkill(1), ps(1), kill(2).



psmisc                                       2020-09-09                                     FUSER(1)
fuser(1)
NAME SYNOPSIS
fuser -l fuser -V
DESCRIPTION OPTIONS
-a, --all -c Same as -m option, used for POSIX compatibility. -f Silently ignored, used for POSIX compatibility. -k, --kill -i, --interactive -I, --inode -l, --list-signals -m NAME, --mount NAME -M, --ismountpoint -w Kill only processes which have write access. This option is silently ignored if -k is -n NAMESPACE, --namespace NAMESPACE -s, --silent -u, --user -v, --verbose -V, --version -4, --ipv4 -6, --ipv6
FILES EXAMPLES
fuser -km /home fuser telnet/tcp
RESTRICTIONS BUGS
-M option as well if you mean to specify only the mount point.
SEE ALSO

Generated by phpMan v3.7.7 Author: Che Dong Under GNU General Public License
2026-06-10 06:47 @216.73.217.62
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!

^_back to top