lsof

From Wikipedia, the free encyclopedia

Jump to: navigation, search

lsof is a command meaning "list open files", which is used in many Unix-like systems to report a list of all open files and the processes that opened them. This open source utility was developed and supported by Vic Abell, the retired Associate Director of the Purdue University Computing Center. It works in and supports several UNIX flavors.[1]

Open files in the system include disk files, pipes, network sockets and devices opened by all processes. One use for this command is when a disk cannot be unmounted because (unspecified) files are in use. The listing of open files can be consulted (suitably filtered if necessary) to identify the process that is using the files.

# lsof /var
COMMAND     PID     USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
syslogd     350     root    5w  VREG  222,5        0 440818 /var/adm/messages
syslogd     350     root    6w  VREG  222,5   339098   6248 /var/log/syslog
cron        353     root  cwd   VDIR  222,5      512 254550 /var -- atjobs


To view the Port associated with a daemon :

 # lsof -i -n -P | grep sendmail
 sendmail  31649    root    4u  IPv4 521738       TCP *:25 (LISTEN)

From the above we can see that "sendmail" is listening on its standard port of "25".

  • -i Lists IP sockets.
  • -n Do not resolve hostnames (no DNS).
  • -P Do not resolve port names (list port number instead of its name).

[edit] See also

[edit] References

  1. ^ W. Richard Stevens, Bill Fenner, Andrew M. Rudoff (2003), Unix Network Programming: the Sockets networking API, Addison-Wesley Professional, ISBN 0131411551, http://books.google.com/books?vid=ISBN0131411551&id=ptSC4LpwGA0C&pg=RA1-PA897&lpg=RA1-PA897&ots=Kp7AQkfiSm&dq=Lsof&ie=ISO-8859-1&output=html&sig=bbb3jzTxdoa4IlTPpgUP17T7qVU 

[edit] External links

Personal tools