دستور ps در لینوکس برای مانیتور کردن پراسس ها استفاده می شود، در این مقاله نحوه استفاده از دستور PS در Linux را به طور کامل به شما عزیزان آموزش خواهیم داد، همراه داتیس نتورک باشید.
دستور ps در لینوکس چیست؟
در بیشتر سیستم عامل های یونیکس و یونیکس ، ابزار ps فرآیندهای در حال اجرا را نمایش می دهد.
یک ابزار مرتبط یونیکس با نام top نمایی در زمان واقعی از فرایندهای در حال اجرا را ارائه می دهد.
گاهی اوقات ، هنگام کار بر روی دستگاه لینوکس ، ممکن است لازم باشد که بدانید در حال حاضر چه فرآیندهایی اجرا می شوند.
دستور ps (مخفف processes status) یک ابزار لینوکسی برای مشاهده اطلاعات مربوط به یک Process یا پروسس های در حال اجرای سیستم میباشد.
این دستور اطلاعات را از فایل های مجازی در فایل سیستم proc میخواند.
این یکی از ابزار مهم برای مدیریت سیستم، خصوصا مانیتورینگ سیستم میباشد، که به شما کمک میکند تا متوجه شوید چه اتفاقی در سیستم لینوکس میافتد.
همچنین دستور ps داری آپشن های زیادی برای دستکاری خروجی اش دارد، با این حال برای شما تعداد کمی از آنها برای استفاده روزانه مفید خواهد بود.
در این مقاله شما را با دستور PS و نحوه استفاده از آن در لینوکس آشنا خواهیم کرد، همراه داتیس نتورک باشید.
سینتکس دستور ps در لینوکس
ps دارای آپشنهای بسیاری است که این امکان را به کاربر میدهند تا مشخص کند چه تسکی را بررسی کند،
چه اطلاعاتی را نمایش دهد و حتی نحوهٔ نمایش خروجی دادهها نیز به چه شکل باشد اما این در حالی است که اگر از هیچ آپشنی برای این کامند استفاده نکنیم، ps تمامی پروسههایی که در شِل مد نظر اجرا شدهاند را نمایش خواهد داد:
$ ps PID TTY TIME CMD 13474 pts/1 00:00:00 bash 16635 pts/1 00:00:00 ps
همانطور که میبینیم، کلیهٔ پروسههای در حال اجرا در شِل فعلی نمایش داده شدهاند.
لیست تمام Process های در Shell جاری
اگر شما دستور ps را بدون هیچ آپشنی اجرا کنید، به شما فقط پروسس های shell فعلی را نمایش میدهد.
ps
نمایش تمام Process ها با فرمتی متفاوت
نمایش پروسس های فعال در سیستم لینوکس به فرمت کلی (Unix/Linux)
$ ps -A OR $ ps -e
نمایش تمام Process ها به فرمت BSD (مخفف Berkeley Software Distribution)
$ ps au OR $ ps axu
نمانیش تمام Process های در حال اجرای یوزر Root (توسط ID)
دستور زیر هر Process ی که توسط یوزر root اجرا شده باشد را به فرمت یوزر برای شما نمایش خواهد داد.
$ ps -U root -u root
نمایش Process های در حال اجرای کاربر
شما میتوانید تمام پروسس هایی که برای user شما هست را به صورت زیر انتخاب کنید. (در این سناریو دستور ps با root اجرا شده است)
$ ps -x
برای نمایش پروسس های یک کاربر با ID واقعی یا نام آن (RUID)، از آپشن -U استفاده کنید.
$ ps -fU tecmint OR $ ps -fu 1000
نمایش Process های متعلق به یک گروه
اگر شما بخواهید تمام پروسس هایی که به گروه خاصی متعلق هستند (ID واقعی گروه (RGID) یا نام گروه) را لیست کنید از دستور زیر استفاده نمایید.
$ ps -fG apache OR $ ps -fG 48
نمایش درختی پروسس ها (Process Tree)
یک درخت پروسس نمایش میدهد که چگونه پروسس های روی سیستم به یکدیگر لینک شده اند، همچنین پروسس هایی که parent آنها kill شده اند توسط init (یا systemd) سرپرستی میشوند.
$ ps -e --forest
Troubleshoot کردن کارایی سیستم لینوکس
اگر سیستم شما آنطور که باید کار نمیکند برای مثال اگر به صورت غیر طبیعی کند است شما میتوانید یک سری ترابل شوت ها روی سیستم همانند زیر انجام دهید.
پیدا کردن پروسس های در حال اجرا بر اساس مصرف بالای CPU و Memory در لینوکس از دستور زیر استفاده میکنیم.
$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head OR $ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head
امیدواریم مقاله آشنایی با دستور PS در لینوکس مفید بوده باشد.
داتیس نتورک را در شبکه های اجتماعی دنبال کنید.