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

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

این مقاله شما را از طریق فهرست کردن فرآیندهای فعال در لینوکس با استفاده از دستورات مختلف راهنمایی می کند. شما یاد خواهید گرفت که چگونه عملکرد سیستم خود را به طور موثر کنترل کنید و مشکلات را قبل از اینکه بر ثبات تاثیر بگذارد عیب یابی کنید.

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

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

فرآیندهای پیش زمینه مستقیماً با کاربر تعامل دارند، مانند اجرای یک فرمان در a terminal پنجره در مقابل، فرآیندهای پس‌زمینه بدون نیاز به ورودی کاربر، مانند ابزارهای نظارت بر سیستم یا پشتیبان‌گیری از فایل، بی‌صدا عمل می‌کنند.

برخی از فرآیندهای پس‌زمینه به‌عنوان خدمات فهرست عمل می‌کنند – وظایف طولانی‌مدت مانند سرورهای وب یا خدمات شبکه که عملکرد مداوم را تضمین می‌کنند. خدمات معمولاً با استفاده از ابزارهای داخلی مانند systemctl به جای دستوراتی که در بخش بعدی به آنها خواهیم پرداخت.

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

فرآیندهای فهرست کردن در لینوکس

برای فهرست کردن فرآیندها در لینوکس، از یکی از پنج دستور زیر استفاده کنید: ps، بالا، htop، در بالا، و pstree. هر دستور جزئیات و فرمت های خروجی متفاوتی را ارائه می دهد. به عنوان مثال، ps در حالی که یک نمای لحظه ای از تمام فرآیندها ارائه می دهد بالا و htop به صورت پویا آنها را بر اساس استفاده از CPU مرتب کنید.

ابتدا با باز کردن a به سیستم لینوکس خود دسترسی پیدا کنید terminal یا از یک کلاینت SSH مانند PuTTY برای اتصال از راه دور استفاده کنید. برای هاستینگer مشتریان VPS، داخلی ما مرورگر terminal یک راه راحت برای تعامل با سرور شما ارائه می دهد.

برای استفاده از این ویژگی، وارد سیستم خود شوید هاستینگer حساب کنید و به VPS → مدیریت. سپس، را باز کنید دسترسی به SSH برای مشاهده اعتبار خود، روی آن ضربه بزنید مرورگر terminal را فشار دهید و جزئیات ورود خود را که قبلاً یادداشت کرده اید وارد کنید. اکنون آماده اجرای دستورات مستقیم از مرورگر هستید.

دستور ps لینوکس

را process وضعیت (ps) فرمان یکی از محبوب ترین ابزارها برای فهرست کردن فرآیندهای در حال اجرا در لینوکس است. این یک عکس فوری ایستا از تمام فرآیندها در یک لحظه خاص ارائه می دهد. به طور پیش فرض، ps فقط کاربر فعلی و فرآیندهای جلسه را نشان می دهد.

با این حال، اضافه کردن گزینه هایی مانند کمک اطلاعات دقیق تری را به شما می دهد، از جمله فرآیندهای همه کاربران و آنهایی که با a مرتبط نیستند terminal. در اینجا به تفکیک هر گزینه می پردازیم:

  • الف – فرآیندهای همه کاربران را ببینید.
  • تو – اضافه کردن جزئیات بیشتر مانند CPU، استفاده از حافظه، و process مالک
  • x – شامل فرآیندهایی باشد که با a مرتبط نیستند terminal، مانند خدمات سیستمی.

هنگام اجرا، ps aux فرمان جزئیات مهمی مانند process شماره شناسایی (PID)، CPU و درصد مصرف حافظه، process زمان شروع، کل زمان استفاده شده از CPU، و فرمانی که راه اندازی شد process.

برای یک دیدگاه سلسله مراتبی از فرآیندها، ps -axjf فرمان روابط والد و فرزند بین فرآیندها را نشان می دهد که به تجزیه و تحلیل وابستگی ها کمک می کند.

همچنین می توانید فرآیندهای خاصی را با استفاده از grep فیلتر کنید تا خروجی را به یک کار خاص محدود کنید. در اینجا یک مثال است:

ps aux | grep apache2

به طور مشابه، ps -C process_name فرمان فرآیندها را با نام فیلتر می کند و تمام نمونه های آن را نمایش می دهد process و هر فرزندی که تولید کرده است پردازش می کند.

دستور بالا لینوکس

را بالا فرمان یک دینامیک بلادرنگ است process نمایشگری که به شما امکان می دهد عملکرد سیستم را نظارت کنید. بر خلاف استاتیک ps فرمان، بالا به‌طور مداوم به‌روزرسانی می‌شود و دیدی مداوم از استفاده از منابع، از جمله مصرف CPU و حافظه ارائه می‌دهد.

پیشنهاد می‌کنیم بخوانید:  چگونه یک سرور داده شخصی Bluesky را میزبانی کنید تا شبکه اجتماعی غیرمتمرکز خود را بسازید

ماهیت زمان واقعی بالا آن را به ویژه برای شناسایی فرآیندهای در حال اجرا مفید می کند. به‌طور پیش‌فرض، فرآیندها را بر اساس میزان استفاده از CPU مرتب می‌کند و بیشترین منابع را در بالا فهرست می‌کند.

برای مشاهده عملکرد این دستور، تایپ کنید بالا در شما terminal. سپس خروجی مشابه زیر را خواهید دید:

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

  • ک – خاتمه دادن a process.
  • r – اولویت a را تنظیم کنید process.
  • متر – مرتب سازی فرآیندها بر اساس میزان مصرف حافظه
  • n مرتب سازی فرآیندها بر اساس PID
  • د – فاصله زمانی تازه سازی را تغییر دهید.
  • ساعت – پنجره راهنما را ببینید.
  • ج – مسیر مطلق a را ببینید process.
  • z – نمایش رنگی را برای تجسم بهتر فرآیندهای فعال فعال کنید.

به یاد داشته باشید که کلیدهای بالا به حروف بزرگ و کوچک حساس هستند، پس حتما caps lock را غیرفعال کنید. برای خروج از بالا فرمان، فشار دهید q.

دستور htop لینوکس

را htop دستور یک جایگزین تعاملی تر و کاربرپسندتر است بالا. این یک رابط بصری جذاب و بصری برای نظارت بر عملکرد سیستم و مدیریت فرآیندهای در حال اجرا فراهم می کند.

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

علاوه بر این، این دستور دارای پشتیبانی از ماوس است، که پیمایش، انتخاب و خاتمه فرآیندها را بدون وارد کردن دستی PID آسان‌تر می‌کند. شما همچنین می توانید اولویت چندین فرآیند را تنها با چند کلیک تنظیم کنید.

از آنجایی که اکثر توزیع های لینوکس شامل نشود htop به طور پیش فرض، باید آن را به صورت دستی نصب کنید. در توزیع‌های مبتنی بر دبیان مانند اوبونتو، می‌توانید این کار را با اجرای دستور زیر انجام دهید:

sudo apt install htop

در همین حال، برای توزیع‌های مبتنی بر RHEL مانند CentOS، به جای آن این دستور را اجرا کنید:

sudo dnf install htop

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

htop همچنین میانبرهای مختلف صفحه کلید را برای سهولت ارائه می دهد process مدیریت:

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

دستور بالای لینوکس

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

یکی از مزایای کلیدی در بالا توانایی آن برای ثبت و نظارت بر فرآیندهای سیستم در یک دوره طولانی – تا 28 روز به طور پیش فرض این شامل فرآیندهای تکمیل شده یا خاتمه یافته است که امکان تجزیه و تحلیل عملکرد عمیق را فراهم می کند.

می توانید نصب کنید در بالا با استفاده از یکی از این دستورات، بسته به روی توزیع لینوکس شما:

sudo apt install atop  # Ubuntu or Debian  
sudo dnf install atop  # CentOS, RHEL, or Fedora

پس از راه اندازی، در بالا استفاده از منابع برای CPU، حافظه، swap، دیسک ها و شبکه در 10فواصل دوم

این فرمان همچنین از چندین گزینه برای بینش های خاص تر پشتیبانی می کند:

  • من – مقادیر کل میانگین در هر ثانیه
  • -a – فرآیندهای فعال در آخرین بازه های زمانی.
  • ج – خط فرمان برای هر کدام process.
  • -m – اطلاعات مربوط به حافظه
  • – اطلاعات مربوط به دیسک
  • -n – فعالیت شبکه
  • -s – جزئیات زمان بندی
  • -v – از انواع مختلف process داده هایی مانند PPID و اطلاعات کاربر.
  • -y – اطلاعات رشته های فردی
پیشنهاد می‌کنیم بخوانید:  چگونه با استفاده از React و یک پلاگین یک وب سایت وردپرس بدون سر در سال 1403 بسازیم

در حین استفاده در بالا، می توانید با استفاده از کلیدهای میانبر زیر فرآیندها را بر اساس منابع خاص مرتب کنید:

  • الف – فعال ترین منابع
  • ج – استفاده از CPU
  • د – فعالیت دیسک
  • متر – استفاده از حافظه
  • n – فعالیت شبکه

دستور pstree لینوکس

را pstree دستور به تجسم کمک می کند process سلسله مراتب در لینوکس به جای فهرست کردن فرآیندها در قالبی مسطح مانند ps یا بالا، pstree آنها را در یک ساختار درختی سازماندهی می کند که روابط والد-فرزند بین فرآیندها را نشان می دهد.

این سلسله مراتب درک چگونگی ارتباط فرآیندها را آسان تر می کند. برای مثال، سرویس‌های سیستمی که فرآیندهای دیگر را راه‌اندازی می‌کنند، در بالای درخت ظاهر می‌شوند و پردازش‌های فرزندشان در زیر آن فرورفته است.

مانند htop و در بالا، pstree همیشه از قبل نصب نشده است روی هر توزیع شما می توانید آن را با:

sudo apt install psmisc  # Ubuntu or Debian  
sudo dnf install psmisc  # CentOS, RHEL, or Fedora

پس از نصب، اجرا کنید pstree برای تجسم کردن process درخت در اینجا خروجی مورد انتظار است:

می توانید از گزینه های مختلف استفاده کنید pstree برای دیدن جزئیات بیشتر:

  • – process شناسنامه در کنار هر کدام process نام
  • -u – نام کاربری صاحبان فرآیندها.
  • -h – در حال حاضر در حال اجرا process برای شناسایی راحت تر
  • -a – خطوط فرمان کامل، ارائه زمینه بیشتر برای هر یک process.

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

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

برای توقف یا توقف فرآیندها، می‌توانید آن را اجرا کنید مشاغل دستور فهرست کردن وظایف پس زمینه و بازگرداندن آنها به پیش زمینه در صورت نیاز. به عنوان مثال استفاده کنید fg برای آوردن یک کار به پیش زمینه، جایی که <شماره_کار> به تعداد کار پس زمینه اشاره دارد:

jobs

fg <job_number>

خاتمه دادن به الف process، استفاده کنید کشتن دستور داده و PID را مشخص کنید. به عنوان مثال:

kill <PID>

اگر می خواهید تمام فرآیندهای با نام یکسان را متوقف کنید، آن را اجرا کنید کشتن در عوض:

killall process_name

برای کنترل دقیق تر بر عملکرد سیستم، می توانید تنظیم کنید process اولویت با استفاده از دستور renice، که در حال اجرا را تغییر می دهد processارزش اولویت. با کاهش این مقدار، a به دست می آید process اولویت CPU بالاتر، در حالی که افزایش آن باعث کاهش اولویت می شود.

نحو اصلی به شرح زیر است، که در آن <اولویت> مقدار جدیدی است که به process:

renice <priority> <PID>

نتیجه گیری

نظارت بر فرآیندهای لینوکس برای حفظ سلامت سیستم و بهینه سازی عملکرد ضروری است. در این مقاله دستوراتی مانند ps، بالا، htop، در بالا، و pstree، که به شما کمک می کند فرآیندهای در حال اجرا را فهرست و نظارت کنید.

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

اگر هنوز سؤالی دارید یا می‌خواهید نکات دیگری را برای آن به اشتراک بگذارید process مدیریت، در زیر نظر خود را بنویسید.

لیست سوالات متداول پردازش های لینوکس

چه دستوری فرآیندها را در لینوکس لیست می کند؟

شما می توانید فرآیندهای موجود در لینوکس را با استفاده از دستوراتی مانند لیست کنید ps، بالا، htop، در بالا، و pstree. هر کدام یک فرمت خروجی متفاوت از عکس های فوری استاتیک (ps) و نظارت بر زمان واقعی (بالا و htop) به ثبت تاریخی (در بالا) و process دیدگاه های سلسله مراتبی (pstree).

چگونه همه فرآیندهای در حال اجرا را ببینم؟

برای مشاهده تمام فرآیندهای در حال اجرا، از ps aux دستور، که فرآیندهای همه کاربران را فهرست می کند. متناوبا، استفاده کنید بالا یا htop دستورات برای نمایش زمان واقعی از process فعالیت، از جمله حافظه و استفاده از CPU.

چگونه میزان مصرف حافظه را بررسی کنم process در لینوکس؟

استفاده کنید بالا یا htop دستورات برای مشاهده درصد مصرف حافظه برای هر کدام process همانطور که اتفاق می افتد. شما همچنین می توانید اجرا کنید ps aux –sort=-%mem برای فهرست کردن فرآیندهای مرتب شده بر اساس مصرف حافظه.