Lsof

lsof که سرنام کلمات "list open files" است، فرمانی در سیستم‌عامل‌های شبه‌یونیکس است که لیستی از تمام فایل‌های باز شده و همچنین پروسه‌هایی که آن فایلها را باز کرده‌اند در اختیار قرار می‌دهد. lsof برنامه‌ای متن‌باز است و توسط Vic Abell نوشته شده و پشتیبانی می‌شود.

فایل‌های باز شده در یک سیستم می‌توانند شامل دیسک سخت، Pipe، سوکت اینترنت و وسایل سخت‌افزاری باشند که توسط پروسه‌های مختلف باز شده‌اند و در حال استفاده‌اند. یکی از کاربردهای این دستور می‌تواند زمانی باشد که به دلیل استفاده از یک فایل نامشخص، امکان جدا کردن (Unmount) دیسک سخت وجود نداشته باشد. با لیست کردن فایل‌های باز توسط این فرمان (و با استفاده از فیلتر مناسب برای خروجی دستور)، می‌توان پی برد که چه پروسه‌ای در حال استفاده از آن فایل خاص است.

مثالهای کاربردی 
برای نشان دادن اینکه چه پروسه‌هایی در حال استفاده از فایل‌های موجود در مسیر var/ هستند :
 # 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

برای نمایش پورت اختصاص داده شده به یک برنامه :
  # lsof -i -n -P | grep sendmail
  sendmail  31649    root    4u  IPv4 521738       TCP *:25 (LISTEN)

فرمان بالا نشان می‌دهد که برنامهٔ sendmail در حال استفاده از پورت استاندارد ۲۵ است.
 سوییچ i- برای نمایش سوکت‌های IP
 سوییچ n- برای اینکه نشانی‌ها به دامنه اینترنتی تبدیل نشوند
 سوییچ P- برای اینکه بجای نام پورت، عدد آن را نمایش دهد

جستارهای وابسته 
 netstat
 Strace

پیوند به بیرون 
 صفحات راهنمای lsof در www.netadmintools.com
 سوالات متداول در مورد lsof

منابع 

نرم‌افزارهای مرتبط با فایل‌سیستم برای یونیکس
نرم‌افزارهای یونیکس