I think lsof and fstat have gradually converged. Each delivers some
information the other doesn't but both deliver the same essential
Probably the most important thing in lsof's favor is that it provides
consistent support across multiple UNIX dialects -- Linux, NetBSD,
OpenBSD, AIX, HP-UX, SCO OSR, SCO Unixware, and Sun Solaris to name a
few. Lsof might have a richer set of command option filters than
fstat, and it has an output mode designed for use by post processing
scripts and filters.