To find out what processes are accessing a file on Unix run fuser command i.e.
The conventional syntax for using fuser is:
# fuser [options] [file|socket] # fuser [options] -SIGNAL [file|socket] # fuser -l
Running fuser command without any option will displays the PIDs of processes currently accessing your current working directory.
$ fuser . OR $ fuser /home/sapadm
For a more detailed and clear output, enable the
--verbose as follows. In the output, fuser prints out the name of the current directory, then columns of the process owner (USER), process ID (PID), the access type (ACCESS) and command (COMMAND) as in the image below.
$ fuser -v
Under the ACCESS column, you will see access types signified by the following letters:
c– current directory
e– an executable file being run
f– open file, however, f is left out in the output
F– open file for writing, F is as well excluded from the output
r– root directory
m– mmap’ed file or shared library
Next, you can determine which processes are accessing your
~.bashrc file like so:
$ fuser -v -m .bashrc
-m NAME or
--mount NAME means name all processes accessing the file NAME. In case you a spell out directory as NAME, it is spontaneously changed to
NAME/, to use any file system that is possibly mounted on that directory.
In order to kill a processes accessing a file or socket, employ the
--kill option like so:
$ sudo fuser -k .
To interactively kill a process, where you are that asked to confirm your intention to kill the processes accessing a file or socket, make use of
$ sudo fuser -ki .
ou can list all the signals using the
--list-signals options as below:
$ sudo fuser --list-signals
Therefore, you can send a signal to processes as in the next command, where SIGNAL is any of the signals listed in the output above.
$ sudo fuser -k -SIGNAL
For example, this command below sends the HUP signal to all processes that have your
/boot directory open.
$ sudo fuser -k -HUP /boot
Try to read through the fuser man page for advanced usage options, additional and more detailed information.