lsof

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
lsof
توضیح نمایش لیستی از فایل‌های باز
(ها)سیستم‌عامل شبه‌یونیکس
گونه مدیریت سیستم
طراح(ها) Vic Abell
اجازه‌نامه اجازه‌نامه بی‌اس‌دی
وب‌گاه http://people.freebsd.org/~abe

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- برای اینکه بجای نام پورت، عدد آنرا نمایش دهد

همچنین ببینید[ویرایش]

پیوند به بیرون[ویرایش]

منابع[ویرایش]

مشارکت‌کنندگان ویکی‌پدیا، «lsof»، ویکی‌پدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۱۷ آبان ۱۳۸۹).