مثال استفاده از فرمان لینوکس ps

معرفی

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

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

دستور ps معمولا در ارتباط با دستور grep و دستورات بیشتر یا کمتر استفاده می شود.

این دستورات اضافی به فیلتر کردن و رایت کردن خروجی از ps کمک می کند که اغلب می تواند بسیار طول بکشد.

نحوه استفاده از فرمان PS

خود فرمان ps دستورالعمل های در حال اجرا را توسط کاربر اجرا می کند در یک پنجره ترمینال را نشان می دهد.

برای فراخوانی ps به سادگی نوع زیر را تایپ کنید:

ps

خروجی ردیف داده حاوی اطلاعات زیر را نشان می دهد:

PID شناسه پردازش است که پروسه در حال اجرا را مشخص می کند. TTY نوع ترمینال است.

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

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

ps -A

ps-e

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

ps -d

بنابراین رهبر جلسه چیست؟ وقتی یک فرایند فرایندهای دیگر را آغاز می کند، رهبر جلسه تمام فرآیندهای دیگر است. بنابراین فرآیند تصور کنید که فرآیند B و فرایند C شروع می شود. فرآیند B فرآیند D را آغاز می کند و فرایند C فرایند E. مرحله ای که شما تمام پروسه ها را لیست می کنید به غیر از رهبران جلسه، B، C، D و E را ببینید اما نه A.

شما می توانید هر انتخابی را که با استفاده از کلید -N انتخاب کرده اید نفی کنید. به عنوان مثال اگر می خواهید فقط رهبران جلسه را اجرا کنید، دستور زیر را اجرا کنید:

ps -d -N

بدیهی است زمانی که با استفاده از سوئیچهای -e یا -A بسیار معقول نیست، زیرا هیچ چیزی را نشان نمی دهد.

اگر می خواهید تنها مراحل مربوط به این ترمینال را ببینید، دستور زیر را اجرا کنید:

ps t

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

ps r

انتخاب فرآیندهای خاص با استفاده از فرمان PS

شما می توانید فرآیندهای خاص را با استفاده از دستور ps باز کنید و راه های مختلفی برای تغییر معیارهای انتخاب وجود دارد.

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

ps -p

شما می توانید چندین فرایند را با مشخص کردن چندین شناسه فرآیند به صورت زیر انتخاب کنید:

ps -p "1234 9778"

شما همچنین می توانید با استفاده از یک لیست جدا شده با کاما مشخص کنید:

ps -p 1234،9778

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

ps -C

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

ps کروم

شما ممکن است شگفت زده شوید که این یک روند را برای هر برگ باز باز می کند.

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

ps -G
ps - گروه

به عنوان مثال برای پیدا کردن همه فرآیندهای اجرا شده توسط گروه نوع حساب زیر را دنبال کنید:

ps -G "حساب"
ps - گروه "حساب ها"

شما همچنین می توانید با استفاده از یک عبارت کوچک به واسطه نام گروه، به جای نام گروه، به صورت زیر جستجو کنید:

ps -g
ps - group

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

ps -s

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

ps -t

اگر می خواهید تمام فرآیندهای اجرا شده توسط یک کاربر خاص را پیدا کنید، دستور زیر را امتحان کنید:

ps U

به عنوان مثال برای پیدا کردن همه فرآیندهای اجرا شده توسط گری اجرای زیر را انجام دهید:

ps U "گری"

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

اگر من به عنوان تام وارد سیستم میشوم و از sudo برای اجرای فرمان به عنوان من استفاده میکنم، دستور بالا دستور تام را به عنوان گری اجرا میکند و نه تام.

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

ps -U "gary"

فرمت خروجی خروجی ps

به طور پیشفرض زمانی که از دستور ps استفاده می کنید، همان 4 ستون را می بینید:

شما می توانید یک لیست کامل با اجرای دستور زیر را دریافت کنید:

ps -ef

-e همانطور که می دانید همه فرآیندها را نشان می دهد و f یا -f جزئیات کامل را نشان می دهد.

ستون ها به شرح زیر می باشند:

کاربر ID فردی است که فرمان را اجرا می کند. PID فرایند ID دستور فرمان است. PPID فرآیند والدین است که دستور را اجرا می کند.

ستون C تعداد فرزندان یک فرایند را نشان می دهد. STIM زمان شروع این روند است. TTY ترمینال است، زمان مقدار زمان برای اجرا و فرمان است که اجرا شد.

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

ps -eF

این ستون های زیر را باز می کند:

ستون های اضافی SZ، RSS و PSR هستند. SZ اندازه فرآیند است، RSS اندازه حافظه واقعی است و PSR پردازنده است که فرمان به آن اختصاص داده شده است.

شما می توانید یک فرمت تعریف شده توسط کاربر با استفاده از سوئیچ زیر را مشخص کنید:

ps -e --format

فرمت های موجود عبارتند از:

گزینه های بسیاری وجود دارد اما اینها بیشتر مورد استفاده قرار می گیرند.

برای استفاده از فرمت های نوع زیر:

ps -e --format = "uid uname cmd زمان"

شما می توانید موارد را با هم ترکیب و مطابقت دهید، همانطور که آنها می خواهند.

مرتب سازی خروجی

برای مرتب سازی خروجی از نماد زیر استفاده کنید:

ps -ef - sorted

انتخاب گزینه های مرتب سازی به شرح زیر است:

باز هم گزینه های بیشتری وجود دارد اما این ها رایج ترین ها هستند.

دستورالعمل مرتب سازی مثال به شرح زیر است:

ps -ef --sort user، pid

استفاده از ps با grep، دستورات کمتر و بیشتر

همانطور که در ابتدا ذکر شد، استفاده از ps با grep، دستورات کمتر و بیشتر، معمول است.

دستورات کمتر و بیشتر به شما کمک می کند تا نتایج را از یک صفحه در یک زمان غرق کنید. برای استفاده از این دستورات، خروجی را از grep به صورت زیر وارد کنید:

ps -ef | بیشتر
ps -ef | کمتر

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

مثلا:

ps -ef | grep chrome

خلاصه

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

این مقاله سوئیچ های رایج را پوشش داده است، اما گزینه های قالب بندی و مرتب سازی بیشتر و در دسترس تر وجود دارد.

برای پیدا کردن بیشتر صفحات مردانه لینوکس برای دستور ps را بخوانید.