1. Home
  2. Linux
  3. General
  4. How To Use the Linux Fuser Command

How To Use the Linux Fuser Command

The Linux fuser command is usually used to help identify what processes are using a specific file, Unix socket, or file system. In this guide, we plan to teach you a couple examples to demonstrate how you can use the fuser command on a Linux VPS.
Check out Our Best Linux VPS hosting;

  1. VPS Hosting
  2. WordPress Hosting

SSH into the Server

In order to be able to run fuser commands, you will require SSH access to the server. Connect to your server via SSH and run fuser.

No process specification given
Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] NAME...
fuser -l
fuser -V
Show which processes use the named files, sockets, or filesystems.
-a,--all              display unused files too
-i,--interactive      ask before killing (ignored without -k)
-k,--kill             kill processes accessing the named file
-l,--list-signals     list available signal names
-m,--mount            show all processes using the named filesystems or block device
-M,--ismountpoint     fulfill request only if NAME is a mount point
-n,--namespace SPACE  search in this name space (file, udp, or tcp)
-s,--silent           silent operation
-SIGNAL               send this signal instead of SIGKILL
-u,--user             display user IDs
-v,--verbose          verbose output
-w,--writeonly        kill only processes with write access
-V,--version          display version information
-4,--ipv4             search IPv4 sockets only
-6,--ipv6             search IPv6 sockets only
-                     reset options
udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]

This output should notify you that no process specification is provided.
It will also give you some basic usage examples and options.
The –v or –verbose is used commonly and gives a verbose output. An example of this is to list every process which uses the current directory.

fuser -v .

In the case that your current directory is the root directory, you will receive an output similar to the one below.

# fuser -v .
USER        PID ACCESS COMMAND
...
root         37 .rc.. bash
root         64 .rc.. systemd-journal
root         65 .rc.. systemd-udevd
root        193 .rc.. rpcbind
root        197 .rc.. systemd-logind
root        199 .r... cron
messagebus  200 .rc.. dbus-daemon
syslog      211 .rc.. rsyslogd
root        296 .r... saslauthd
root        297 .r... saslauthd
root        299 .rc.. sshd
bind        304 .r... named
root        321 .r... dovecot
root        329 .r... log
root        334 .r... config
mysql       336 .r... mysqld
root        370 .rc.. agetty
root        371 .rc.. agetty
root        396 .rc.. xinetd
root        429 .r... sendmail-mta
root        449 .rc.. apache2
www-data    455 .rc.. apache2
www-data    456 .rc.. apache2
www-data    457 .rc.. apache2
www-data    458 .rc.. apache2
www-data    459 .rc.. apache2
...

In the output above you will see information such as the USER, PID, ACCESS, and the COMMAND which was used to initiate the procedure.
ACCESS reveals letters denoting the type of access; there are multiple types of these:

c - current directory
e - executable being run
r - root directory
f - open file (omitted in default display mode)
F - open file for writing (omitted in default display mode)
m - mmap’ed file or shared library

A different usage for fuser is to list every process which uses UDP and TCP sockets on your Linux VPS.
In our example, we list every process which uses the TCP port 80. You can run the command below to find this.

fuser -v -n tcp 80

In the case that you have Apache installed and running on your server, you will receive an output similar to the following.

# fuser -v -n tcp 80
USER        PID ACCESS COMMAND
80/tcp:              root        449 F.... apache2
www-data    455 F.... apache2
www-data    456 F.... apache2
www-data    457 F.... apache2
www-data    458 F.... apache2
www-data    459 F.... apache2
www-data    511 F.... apache2
www-data    512 F.... apache2
www-data    513 F.... apache2

Fuser can be used to destroy particular processes as well. For example, to kill the processes which are using the TCP port 80, you can use the command shown below.

fuser -k 80/tcp

Keep in mind that this is going to kill your Apache service if it is running currently.
You can also use fuser is to kill every process which accesses the ‘/home’ directory in any way, as shown below.

fuser -km /home

If you’re looking for more options and usage examples for fuser, you can refer to the fuser main page.

man fuser
Updated on December 24, 2018

Was this article helpful?

Related Articles

Leave a Comment

[apsl-login-lite login_text='Please login with a social account']