نمایش نتایج: از شماره 1 تا 1 , از مجموع 1

موضوع: قابلیت های دستور lsof

  1. #1
    عضو دائم nginxweb آواتار ها
    تاریخ عضویت
    Dec 2012
    محل سکونت
    Esfahan - Root
    نوشته ها
    2,568
    تشکر تشکر کرده 
    148
    تشکر تشکر شده 
    4,236
    تشکر شده در
    2,247 پست

    پیش فرض قابلیت های دستور lsof

    هر چیزی در یونیکس ها و لینوکس فایل است. کاربران و فرایند ها بصورت مداوم و همیشگی با برخی از فایل ها کار می کنند. مثلن یک CMD با برخی از فایل های کتابخانه C و یک فایل پیکربندی در حال کار کردن است. فایل ها در دایرکتوری ها ذخیره میشوند. این که می گوییم در یونیکس ها و لینوکس همه چیز فایل است فقط به فایل های متنی و دیگر فایل های مرسوم ختم نمی شود، بلکه حتی اتصال های شبکه و سخت افزار ها نیز فایل هستند و این فایل ها توسط کاربران،سرویس ها و فرایند ها مورد استفاده قرار می گیرند
    بدون در نظر گرفتن نوع فایل، هر فایلی در یونیکس ها و لینوکس ها دارای یک File Descriptor میباشد که در خروجی دستور lsof با FD نشان داده می شود. FD اطلاعات جامعی از یک فایل به شما میدهد. lsof مخفف List Open File می باشد که در تمامی سیستم عامل های مبتنی بر یونیکس مانند BSD ها و توزیع های لینوکسی موجود و قابل استفاده می باشد. ساده ترین شکل استفاده آن بصورت زیر می باشد (خروجی دستور lsof طولانییست و بهتر است آنرا با less صفحه بندی کنید.)
    lsof
    lsof | less

    ستون های PID,COMMAND و USER به ترتیب معرف نام دستور، شناسه یا PID دستور و نام کاربری است که از آن فایل استفاده می کند. ستون Device به نام دیسک، ستون SIZE/OFF به اندازه فایل، ستون NODE به شماره inode (که تعیین کننده و هویت فایل در دسیک است) و ستون NAME معرف نام فایل است. از ستون های گفته می شود فهمید که کدام USER چه دستوری(فرایندی) را با چه PID ی را استفاده می کند و فرایند یا دستور در حال استفاده از کدام فایل، با چه اندازه ای و در کدام دیسک ذخیره شده است. و ستون دیگر FD و TYPE هستند که اطلاعات کاملتری را در اختیار شما قرار می دهند. ستون FD مخفف File Descriptor است.
    ستون FD دارای مقادیر متفاوتی است. بطور مثال cwd که مخفف Current Work Directory است که دستور از انجا اجرا شده است. FD از نوع txt، فایل های کد یا فایل های باینری هستند. شکل زیر از صفحه Manual دستور lsof یعنی man lsof گرفته شده است که FD ها را معرفی می کند.
    در ستون FD، برخی از مقادیر بصورت عددی باشند که به دنبال انها یکی از حروف زیر بیایند :
    r : یعنی فایل در حالت Read-Only باز شده است.
    w یعنی فایل در حالت write باز شده است.
    u یعنی فایل در حالت read/write باز شده است.
    هر برنامه یا دستوری در آغاز با اعداد 0 تا 2 باز می شود که می توانید از این پست مفهوم این سه عدد را بخوانید. البته برنامه ای می تواند از عددی دیگر مانند 4 یا 0 شروع شود ولی اعداد 0 تا 2 معنی خودشان را دارند.بسته به نوع سیستم عامل یونیکسی، ستون TYPE دارای مقادیری مانند REG,DIR است، عباراتی مانند CHR برای ابزار های کارکتری و BLK برای ابزار های بلاکی استفاده می شوند. عبارت FIFO مخفف First Input First Output و نوعی صف در سیستم عامل است.


    استفاده از دستور lsof :
    لیست کردن فرایند ها بر اساس فایل های باز شده : منظور این است که لیستی از فرایند ها داشته باشیم بر اساس یک فایل مشخص. مثال زیر فرایندهایی(دستورهایی) را که فایل syslog را باز کرده اند را نشان میدهد.
    lsof /var/log/syslog
    لیست کردن فایل های باز شده در زیر یک دایرکتوری : منظور این است که فایل های باز شده تحت یک دایرکتوری معین شده را فهرست کنیم. مثال زیر تمامی فایل های باز شده در زیر دایرکتوری var/log/ را فهرست می کند.
    lsof +D /var/log
    لیست کردن فایل های باز شده توسط یک فرایندهایی که با یک رشته مشخص، شروع می شوند : منظور این است که تمامی فایل های بازشده توسط فرایندهایی که نامش با یک رشته خاص آغاز می شوند را فهرست کنیم. برای اینکار از سوئیچ c- استفاده می کنیم. در مثال زیر تمام فایل های باز شده برای فرایند هایی که با رشته های ssh و init آغاز می شوند را فهرست میکند.
    lsof -c ssh -c init
    لیست کردن فایل های باز شده برای یک نقطه اتصال : منظور از نقطه اتصال یعنی اینکه یک پارتیشن مانند dev/sda3/را به یک دایرکتوری مانند home/ یا یک دایرکتوری مانند tmp/mountpoint/ وصل کنیم. این حالت مانند حالت فهرست کردن فایل های باز شده در زیر یک دایرکتوری است.
    lsof /home
    OR
    lsof +D /home
    لیست کردن فایل های باز شده برای یک کاربر خاص : منظور این است که تمامی فایل های باز شده توسط یک کاربر(USER) خاص را فهرست کنیم. اینکار توسط سوئیچ u- انجام می شود و بجای USERNAME نام کاربری دیلخواه را بنویسید.
    lsof -u USERNAME
    لیست کردن فایل های باز شده برای یک فرایند خاص : منظور این است که با PID فرایند، فهرست تمام فایل های باز شده توسط آن فرایند را ببینیم. اینکار توسط سوئیچ p- انجام می شود و بجای PID باید شناسه فرایند را جایگزین کنید.
    lsof -p PID
    اما برای بدست آوردن PID یک فرایند(دستو) می توانید از دستور ps بصورت زیر استفاده کنید. کافیست بجای CMD نان دستور یا سرویس یا فرایندی را که می خواهید PID آنرا بدست اورید بنویسید. خروجی عددی است که همان PID است که باید در دستور lsof -p PID جایگزین کنید.
    ps aux | grep CMD
    :: کارشناس فنی هاستینگ و مدیریت سرور
    :: کانفیگ حرفه ای سرور مجازی و اختصاصی و رفع اشکال سرور از سال 1388
    :: وب سایت : www.nginxweb.ir | تلفن شرکت: 02191300834

  2. تعداد تشکر ها از nginxweb به دلیل پست مفید


  3. # ADS




     

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 123
    آخرين نوشته: September 2nd, 2018, 22:20
  2. مخابرات افزایش پهنای باند به ۱۲۰ ترابیت بر ثانیه را در دستور کار دارد
    توسط zartosht در انجمن اتصالات به اینترنت و ارایه دهندگان پهنای باند
    پاسخ ها: 14
    آخرين نوشته: June 16th, 2016, 20:24
  3. رستور کردن بکاپ وبسایت پنل
    توسط lineoffire در انجمن ساير کنترل پنل ها
    پاسخ ها: 0
    آخرين نوشته: September 7th, 2012, 18:00
  4. دانلود کامل یک سایت با یک دستور در لینوکس
    توسط Sajad در انجمن اوبونتو,دبیان Ubuntu,Debian
    پاسخ ها: 10
    آخرين نوشته: May 22nd, 2012, 16:06
  5. معرفی سایت های مرتبط با دستور های ssh
    توسط WebRang در انجمن مباحث و منابع آموزشی
    پاسخ ها: 0
    آخرين نوشته: May 4th, 2009, 09:57

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •