Home >System Tutorial >LINUX >Fuser Command In Linux: A Beginners Guide With Examples

Fuser Command In Linux: A Beginners Guide With Examples

Joseph Gordon-Levitt
Joseph Gordon-LevittOriginal
2025-03-17 10:17:081020browse

Fuser Command In Linux: A Beginners Guide With Examples

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:

  1. Identifying file-using processes: Determine which processes are accessing a specific file or directory, crucial for unmounting filesystems or deleting files in use.
  2. Identifying network socket users: Identify processes using network sockets, aiding in network troubleshooting.
  3. Killing processes: After identifying processes using a file or socket, the -k option allows for their termination.

Table of Contents

  • fuser Command Syntax
    • Options
  • fuser Command Examples
      1. Listing Processes Accessing a File
      1. Finding Processes Accessing a Directory
      1. Finding Processes Accessing a Filesystem
      1. Killing Processes Using a File or Socket
      1. Viewing Processes Using a Port
      1. Listing Signals
      1. Sending a Signal to Processes
      1. Getting Help
  • Practical Example: Unmounting a Busy Filesystem
  • Conclusion

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn