فرآیندهای در حال اجرا روی سرور لینوکس شما منابع شما را مصرف می کند. اگر منبع بزرگی دارید روی سرور شما، ممکن است مشکلی نباشد. با این حال، روی منابع کوچکتر، این فرآیندها می توانند باعث مشکلات عملکرد شوند.

خوشبختانه راه هایی برای دیدن دویدن وجود دارد process روی یک سرور لینوکس این مقاله به چهار دستور مفید لینوکس برای فهرست کردن فرآیندها در لینوکس می پردازد.

مقدمه ای بر فرآیندهای لینوکس

آ process اجرای یک برنامه است. آنها می توانند هنگام باز کردن یک برنامه یا هنگام صدور فرمان از طریق راه اندازی شوند command-line terminal. با این حال، یک برنامه کاربردی می تواند چندین فرآیند را برای وظایف مختلف اجرا کند. برای مثال، گوگل کروم متفاوت آغاز خواهد شد process هر بار که یک برگه جدید باز می شود.

آ process می تواند به عنوان یک شروع شود پیش زمینه یا زمینه process. هر لینوکس process منحصر به فرد اختصاص داده شده است PID (process شماره شناسایی).

گاهی اوقات، فرآیندها ممکن است منابع زیادی را مصرف کنند و باید از بین بروند. متناوبا، مواقعی که ممکن است بخواهید سطح اولویت a را تغییر دهید process، بنابراین سیستم منابع بیشتری را به آن اختصاص خواهد داد. صرف نظر از مورد، همه این وظایف از شما نیاز دارند که یک کار را انجام دهید: فهرست کردن فرآیندهای در حال اجرا روی لینوکس.

روش بررسی فرآیندهای در حال اجرا در لینوکس

برای فهرست کردن فرآیندها در لینوکس، از یکی از چهار دستور زیر استفاده کنید: ps، بالا، htop، و در بالا. دستور Ps یک عکس فوری استاتیک از تمام فرآیندها ارائه می دهد، در حالی که top و htop بر اساس استفاده از CPU مرتب می شوند.

بیایید بیشتر در هر یک از آنها شیرجه بزنیم.

روش بررسی فرآیند در حال اجرا در لینوکس با استفاده از دستور “ps”.

این ps (process دستور statuses) یک عکس فوری از تمام فرآیندهای در حال اجرا تولید می کند. بنابراین، برخلاف Task Manager ویندوز، نتایج ثابت هستند.

هنگامی که این دستور بدون هیچ آرگومان یا گزینه اضافی استفاده می شود، لیستی از فرآیندهای در حال اجرا را به همراه چهار ستون مهم برمی گرداند: PID، terminal نام (TTY، زمان اجرا (زمان) و نام فرمانی که آن را اجرا می کند process (CMD). شما می توانید استفاده کنید ps aux برای دریافت اطلاعات عمیق تر در مورد فرآیندهای در حال اجرا خود. در اینجا به تفکیک هر استدلال آورده شده است:

  • آ گزینه خروجی تمام فرآیندهای در حال اجرا همه کاربران در سیستم است.
  • تو گزینه اطلاعات اضافی مانند حافظه و درصد مصرف CPU را ارائه می دهد process کد دولتی و صاحب فرآیندها.
  • ایکس گزینه تمام فرآیندهای اجرا نشده را لیست می کند terminal. نمونه کامل این موارد هستند شیاطین، که فرآیندهای مرتبط با سیستم هستند که هنگام بوت شدن سیستم در پس زمینه اجرا می شوند.
لیست کردن فرآیندهای در حال اجرا با استفاده از دستور ps aux
با استفاده از دستور ps -axjfبا استفاده از دستور ps -axjf

اگر می‌خواهید فرآیندهای لینوکس را در یک نمای سلسله مراتبی فهرست کنید، از آن استفاده کنید ps -axjf فرمان در این قالب، پوسته فرآیندهای فرزند را تحت فرآیندهای والد خود قرار می دهد. جدا از این دو گزینه، در اینجا چند نمونه رایج دیگر از دستور ps وجود دارد که فرآیندهای در حال اجرا در لینوکس را فهرست می کند:

  • ps -u [username] تمام فرآیندهای در حال اجرا یک کاربر خاص را فهرست می کند.
  • ps -e یا ps -A فرآیندهای فعال لینوکس را در قالب یونیکس عمومی نمایش می دهد.
  • ps -T فرآیندهای فعالی را که از روی اجرا می شوند چاپ می کند terminal.
  • Ps -C process_name لیست را بر اساس فیلتر می کند process نام. علاوه بر این، این دستور همچنین تمام پردازش های فرزند مشخص شده را نشان می دهد process.
پیشنهاد می‌کنیم بخوانید:  xmlrpc.php در وردپرس چیست و چرا باید آن را غیرفعال کنید

روش بررسی فرآیند در حال اجرا در لینوکس با استفاده از دستور بالا

این دستور بالا برای کشف فرآیندهای تشنه منابع استفاده می شود. این دستور لینوکس لیست را بر اساس استفاده از CPU مرتب می کند، بنابراین process که بیشترین منابع را مصرف می کند در بالا قرار می گیرد. این نیز مفید است که بررسی کنید که آیا مشخص است یا خیر process در حال اجراست.

با استفاده از دستور بالابا استفاده از دستور بالا

برخلاف دستور ps، خروجی فرمان top به صورت دوره ای به روز می شود. این بدان معناست که به‌روزرسانی‌های بی‌درنگ برای استفاده از CPU و زمان اجرا را مشاهده خواهید کرد. هنگامی که پوسته لیست را برگرداند، می توانید کلیدهای زیر را برای تعامل با آن فشار دهید:

به خاطر داشته باشید که کلیدهای بالا به حروف بزرگ و کوچک حساس هستند، بنابراین مطمئن شوید که Caps lock را فعال نکنید.

روش بررسی فرآیند در حال اجرا در لینوکس با استفاده از دستور “htop”.

هر دو دستور htop و top اطلاعات یکسانی را هنگام فهرست کردن فرآیندهای لینوکس شما نشان می دهند، اما اولی ویژگی های کاربرپسندی را ارائه می دهد که برای روزمره عالی هستند. process مدیریت.

دستور htop به شما امکان اسکرول عمودی و افقی را می دهد. به این ترتیب، می توانید لیست کامل فرآیندهای لینوکس خود را به همراه خطوط فرمان کامل آنها مشاهده کنید.

علاوه بر این، این دستور به شما امکان می دهد از ماوس برای انتخاب موارد، کشتن فرآیندها بدون درج PID آنها، تغییر اولویت چندین فرآیند به راحتی و غیره استفاده کنید. روی.

متأسفانه، اکثر توزیع‌های لینوکس این دستور را مستقیماً ندارند، بنابراین باید آن را به صورت دستی نصب کنید.

پیشنهاد می‌کنیم بخوانید:  روش نصب MySQL روی CentOS 7

اگر از اوبونتو استفاده می کنید، می توانید htop را با اجرای دستور زیر نصب کنید:

sudo apt-get install htop
لیست کردن فرآیندهای در حال اجرا با استفاده از دستور htopلیست کردن فرآیندهای در حال اجرا با استفاده از دستور htop

پس از نصب، htop را تایپ کنید، و لیستی از تمام فرآیندهای لینوکس خود را دریافت خواهید کرد. درست مانند دستور قبلی، htop چندین میانبر صفحه کلید نیز دارد:

کلیدها کارکرد
F9 برای کشتن یک process.
F8 اولویت الف را افزایش دهید process.
F7 کاهش اولویت a process.
F6 مرتب سازی فرآیندها بر اساس هر ستون.
F5 نمایش فرآیندها در نمای درختی
F4 فرآیندها را با نام فیلتر کنید.
F3 جستجو برای a process.
F2 htop setup را باز کنید.
F1 منوی راهنما را نمایش دهید.

روش بررسی فرآیند در حال اجرا در لینوکس با استفاده از دستور “atop”.

این در بالا فرمان ابزاری برای نظارت بر منابع سیستم در لینوکس است. این یک ابزار عملکرد تمام صفحه ASCII است که فعالیت تمام فرآیندهای سرور را ثبت و گزارش می کند.

هنگامی که راه اندازی شد، atop میزان استفاده از منبع برای CPU، حافظه، swap، دیسک ها و شبکه در فواصل 10 ثانیه ای. atop برای تجزیه و تحلیل طولانی مدت سرور (تا 28 روز به طور پیش فرض) در پس زمینه فعال می ماند.

برخی از مزایا عبارتند از:

  • استفاده از منابع را برای همه فرآیندها و کاربرانی با نام یکسان جمع می کند.
  • منابع مهم را در رنگ ها (قرمز) برجسته می کند.
  • استفاده از منابع همه فرآیندها، از جمله آنهایی که تکمیل یا بسته شده اند را نشان می دهد.
  • موضوعات درون فرآیندها (به جز موارد استفاده نشده) را رصد می کند.
  • استفاده می کند netatop هسته موبایل برای نظارت بر TCP، UDP و پهنای باند شبکه.

با اجرای یکی از دستورات زیر می توانید دستور atop را نصب کنید:

اوبونتو/دبیان

sudo apt install atop

CentOS/RHEL/Fedora

sudo dnf install atop

پس از نصب، آن را اجرا کنید در بالا فرمان برای نمایش همه processاستفاده در سطح از منابع سیستم

در اینجا لیستی از آرگومان های موجود و توضیحات آنها آمده است:

فرمان شرح
مرد بالای سر راهنمای فرمان atop را نمایش می دهد page.
بالای -l مقادیر کل میانگین در هر ثانیه را نمایش می دهد.
بالای -a فرآیندهای فعال را در آخرین بازه های زمانی نمایش می دهد.
بالای -c خط فرمان را نمایش می دهد process.
بالای -m اطلاعات مربوط به حافظه را نمایش می دهد.
بالای -d اطلاعات مربوط به دیسک را نمایش می دهد.
atop -n اطلاعات شبکه را نمایش می دهد.
atop -s جزئیات زمان بندی را نمایش می دهد.
بالای -v اطلاعات مختلف (به عنوان مثال PPID، کاربر یا زمان) را نمایش می دهد.
atop -y رشته های جداگانه را نمایش می دهد.

پس از اجرای atop، کلیدهای میانبر فهرست شده در زیر را فشار دهید تا فرآیندها مرتب شوند:

نتیجه

دانستن روش فهرست کردن فرآیندهای در حال اجرا در لینوکس در مدیریت سرور شما بسیار مهم است. استفاده از دستور مناسب نیز برای کمک به انجام کار مهم است.

مراقب باشید که از چه توزیع لینوکس استفاده می کنید، همچنین، زیرا ممکن است مجبور شوید از دستورات مختلفی استفاده کنید برای نصب htop و در بالا.

کدام یک از چهار دستور را ترجیح می دهید؟ نظرات خود را در بخش نظرات زیر به اشتراک بگذارید.