lsof command examples

lsof command examples

lsof – list open files

Also, see fuser which serves the same purpose as lsof.

You may have faced problems while unmounting a filesystem or deleting a folder in Linux. You cannot perform folder (directory) delete/move operations while it is being used. You cannot unmount a filesystem while it is being used, whether it is NFS or a locally mounted filesystem.

Fortunately, you can identify the open file easily in Linux. “lsof” can help you to list open files. In the following example, I am trying to unmount a filesystem and it fails since it is being used. The “cwd” FD (file descriptor) indicates that the directory is the current working directory.

You may have entered into this directory in one of open the terminals. Navigate out of the directory if you can find terminal or kill the shell pid.

“lsof” can be used many other ways, it has endless options. Below are many examples that might help you.

lsof list open files

To list all open files in Linux system, use:


To list all open Internet, x.25 (HP-UX), and UNIX domain files, use:

#lsof -i -U

To list all open IPv4 network files in use by the process whose PID is 1234, use:

#lsof -i 4 -a -p 1234

Presuming the UNIX dialect supports IPv6, to list only open IPv6 network files, use:

#lsof -i 6

To list all files using any protocol on ports 513, 514, or 515 of host, use:

#lsof -i

To list all files using any protocol on any port of electronproton.comĀ  use:

#lsof -i


To list all open files for login name “abe”, or user ID 1234, or process 456, or process 123, or process 789, use:

#lsof -p 456,123,789 -u 1234,abe

To list all open files on device /dev/hd4, use:

#lsof /dev/hd4

To find the process that has /u/abe/foo open, use:

#lsof /u/abe/foo

To send a SIGHUP to the processes that have /u/abe/bar open, use:

#kill -HUP `lsof -t /u/abe/bar`

To find any open file, including an open UNIX domain socket file, with the name /dev/log, use:

#lsof /dev/log

To find processes with open files on the NFS file system named /nfs/mount/point whose server is inaccessible, and presuming your mount table supplies the device number for /nfs/mount/point, use:

#lsof -b /nfs/mount/point

To do the preceding search with warning messages suppressed, use:

#lsof -bw /nfs/mount/point

To ignore the device cache file, use:

#lsof -Di

To obtain PID and command name field output for each process, file descriptor, file device number, and file inode number for each file of each process, use:

#lsof -FpcfDi

To list the files at descriptors 1 and 3 of every process running the lsof command for login ID “abe” every 10 seconds, use:

#lsof -c lsof -a -d 1 -d 3 -u abe -r10

To list the current working directory of processes running a command that is exactly four characters long and has an ‘o’ or ‘O’ in character three, use this regular expression form of the -c c option:

#lsof -c /^..o.$/i -a -d cwd

To find an IP version 4 socket file by its associated numeric dot-form address, use:

#lsof -i@

To find an IP version 6 socket file (when the UNIX dialect supports IPv6) by its associated numeric colon-form address, use:

#lsof -i@[0:1:2:3:4:5:6:7]

To find an IP version 6 socket file (when the UNIX dialect supports IPv6) by an associated numeric colon-form address that has a run of zeroes in it – e.g., the loop-back address – use:

#lsof -i@[::1]

To obtain a repeat mode marker line that contains the current time, use:

#lsof -rm====%T====

To add spaces to the previous marker line, use:

#lsof -r "m==== %T ===="


Leave a Reply

Your email address will not be published. Required fields are marked *