Blob Blame History Raw
	Notes for the comp.sources.unix distribution of lsof 1.0

Lsof (for LiSt Open Files) lists files opened by processes on selected
Unix systems.  It is my answer to those who regularly ask me when I am
going to make fstat (comp.sources.unix volume 18, number 107) or ofiles
(volume 18, number 57) available on SunOS 4.1.1 or the like.

Lsof is a complete redesign of the fstat/ofiles series, based on the SunOS
vnode model.  Thus, it has been tested on AIX 3.1.[357], HP-UX [78].x,
NeXTStep 2.[01], Sequent Dynix 3.0.12 and 3.1.2, and Sunos 4.1 and 4.1.1.
Using available kernel access methods, such as nlist() and kvm_read(),
lsof reads process table entries, user areas and file pointers to reach
the underlying structures that describe files opened by processes.

Lsof interprets most vnode extensions -- cdrnodes, fifonodes, gnodes,
inodes, rnodes, snodes and tmpnodes.  It understands NFS connections.  It
recognizes FIFOs, multiplexed files, Unix and Internet sockets.

Lsof accepts options to limit and filter its output.  That output describes
the process that has opened the file, the command the process is executing,
the owner of the process, the file descriptor of the file, and the file's
device, inode number, size and file system name.  Additional special output
is provided for special files -- e. g., the local and destination Internet
addresses of Internet socket files.

Lsof may be used and distributed freely, subject to the limited conditions
described in its source file.

Victor A. Abell
Purdue University Computing Center
November 22, 1991