fuser (Unix)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
fuser
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemUnix and Unix-like
    PlatformCross-platform
    TypeCommand

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

    Example

    [edit | edit source]

    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 (PIDs) of processes using the specified files or file systems. In the default display mode, each PID 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

    Only the PIDs are written to standard output. Additional information is written to standard error. This makes it easier to process the output with computer programs.

    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.

    Options

    [edit | edit source]

    POSIX defines the following options:[1]

    -c
    Treat the file as a mount point.
    -f
    Only report processes accessing the named files.
    -u
    Append user names in parentheses to each PID.

    psmisc adds the following options, among others:[2]

    -k, --kill
    Kill all processes accessing a file by sending a SIGKILL. Use e.g. -HUP or -1 to send a different signal.
    -l, --list-signals
    List all supported signal names.
    -i, --interactive
    Prompt before killing a process.
    -v, --verbose
    verbose mode
    -a, --all
    Display all files. Without this option, only files accessed by at least one process are shown.
    -m, --mount
    Same as -c. Treat all following path names as files on a mounted file system or block device. All processes accessing files on that file system are listed.
    [edit | edit source]
    • 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).

    References

    [edit | edit source]
    1. ^ fuser – Shell and Utilities Reference, The Single UNIX Specification, Version 5 from The Open Group. Retrieved December 4, 2020.
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]

    fuser – Shell and Utilities Reference, The Single UNIX Specification, Version 5 from The Open Group