The Linux fuser
command is a powerful command-line utility for identifying processes currently using specific files, directories, sockets, or filesystems. "Fuser" is short for "file user." It provides detailed process information, including the owning user, process ID (PID), access type, and the command itself.
fuser
is invaluable for troubleshooting file locking, process management, and system resource issues. Its uses include:
-k
option allows for their termination.Table of Contents
fuser
Command Syntaxfuser
Command Examplesfuser
Command Syntax
The basic syntax is:
fuser [options] file|directory|socket
Options
Key options:
-v
or --verbose
: Detailed output (user, PID, access type, command).-a
or --all
: Display all specified files.-k
or --kill
: Kills processes accessing the specified resource.-i
or --interactive
: Prompts for confirmation before killing.-l
or --list-signals
: Lists available signal names.-m
or --mount
: Shows processes accessing a filesystem or block device.-n
or --namespace
: Specifies the namespace (e.g., tcp
, udp
, file
).-u
or --user
: Appends the username to each PID.-c
: Displays the command name for each process.-4
or --ipv4
: Searches only for IPv4 sockets.-6
or --ipv6
: Searches only for IPv6 sockets.fuser
Command Examples
1. Listing Processes Accessing a File
Find processes using /path/to/file
:
fuser -v /path/to/file
Example: Processes using /usr/bin/firefox-esr
:
fuser --verbose /usr/bin/firefox-esr
The output shows PIDs, users, access types, and commands. Access types (e.g., e
for execute, c
for current working directory) are explained in the original text.
2. Finding Processes Accessing a Directory
Find processes accessing the current directory:
fuser -v .
3. Finding Processes Accessing a Filesystem
Find processes accessing a filesystem mounted at /path/to/mountpoint
:
fuser -v -m /path/to/mountpoint
Example: Processes accessing /boot/efi
:
fuser -v -m /boot/efi/
4. Killing Processes Using a File or Socket
Kill processes using a file or socket (use with caution!):
sudo fuser -k /path/to/file # or socket
Example: Killing processes using port 8006:
sudo fuser -k 8006/tcp
5. Viewing Processes Using a Port
Find processes using TCP port 8006:
sudo fuser -v -n tcp 8006
6. Listing Signals
List available signals:
fuser -l
7. Sending a Signal to Processes
Send the SIGHUP
signal:
sudo fuser -k -HUP /path/to/file
8. Getting Help
View the fuser
manual page:
man fuser
Practical Example: Unmounting a Busy Filesystem
If unmounting a filesystem fails due to processes using it, use fuser -v -m /mnt/data
to identify those processes. Then, try sudo fuser -km /mnt/data
(SIGTERM) or sudo fuser -ki /mnt/data
(SIGKILL) if necessary. Remember that SIGKILL
forcefully terminates processes.
Conclusion
fuser
is a vital command-line tool for Linux system administration and troubleshooting, providing crucial insights into process resource usage and enabling controlled process termination.
The above is the detailed content of Fuser Command In Linux: A Beginners Guide With Examples. For more information, please follow other related articles on the PHP Chinese website!