خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


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

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

نرم افزار سامانه مودیان راهکار
تعدادی دستور وجود دارد که می توانید از آنها برای یافتن اطلاعات در مورد فرآیندهای در حال اجرا استفاده کنید که ps، pstree و top رایج ترین آنها هستند.


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

How to Use ps Command

سینتکس کلی دستور ps به شرح زیر است:

ps [OPTIONS]

به دلایل تاریخی و سازگاری، دستور ps چندین نوع مختلف گزینه را می پذیرد:
گزینه های سبک یونیکس، قبل از یک خط تیره.
گزینه های سبک BSD، بدون خط تیره استفاده می شود.
گزینه های طولانی گنو، قبل از دو خط تیره.

انواع گزینه های مختلف را می توان ترکیب کرد، اما در برخی موارد خاص، تضادها ممکن است ظاهر شوند، بنابراین بهتر است از یک نوع گزینه استفاده کنید. گزینه های BSD و UNIX را می توان گروه بندی کرد.
در ساده‌ترین شکل، وقتی ps بدون هیچ گزینه‌ای استفاده شود، ps چهار ستون اطلاعات را برای حداقل دو فرآیند در حال اجرا در shell جاری، خود shell و فرآیندهایی که در shell هنگام فراخوانی دستور اجرا می‌شوند را نمایش می دهد.

ps

خروجی شامل اطلاعاتی در مورد شل (bash) و فرآیند در حال اجرا در این شل است (ps، دستوری که تایپ کردید):

 PID TTY          TIME CMD
1809 pts/0 00:00:00 bash
2043 pts/0 00:00:00 ps

این چهار ستون دارای لیبل PID، TTY، TIME و CMD هستند.
PID - شناسه فرآیند یا process ID است. معمولاً هنگام اجرای دستور ps، مهمترین اطلاعاتی که کاربر به دنبال آن است، PID است. دانستن PID به شما این امکان را می دهد که یک فرآیند نادرست را kill کنید.
TTY - نام ترمینال کنترل کننده فرآیند است.
TIME – در فرمت دقیقه و ثانیه CPU Time فرآیند را نشان می دهد.
CMD - نام دستوری که برای استارت فرآیند استفاده شده است.

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

BSD form:


ps aux

گزینه a به ps می گوید که فرآیندهای همه کاربران را نمایش دهد.
u مخفف user-oriented یک فرمت کاربر محور است که اطلاعات دقیقی در مورد فرآیندها ارائه می دهد.
گزینه x به ps دستور می دهد تا فرآیندها را بدون کنترل ترمینال لیست کند. این فرآیندها عمدتاً فرآیندهایی هستند که در زمان بوت سیستم استارت شده و در بک گراند سیستم اجرا می شوند.

این فرمان اطلاعات را در یازده ستون با لیبل های USER، PID، %CPU، %MEM، VSZ، RSS، STAT، START، TTY، TIME و CMD نمایش می‌دهد.

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root 1 0.0 0.8 77616 8604 ? Ss 19:47 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S 19:47 0:00 [kthreadd]
...

گزینه f به ps می گوید که بصورت درختی(tree view) پردازش ها را از والد به فرزند یا parent to child نشان دهد.

ps auxf

دستور ps همچنین به شما اجازه می دهد تا خروجی را sort کنید. به عنوان مثال، برای مرتب کردن خروجی بر اساس میزان مصرف RAM، از دستور زیر استفاده کنید:

ps aux --sort=-%mem

UNIX form:


ps -ef

گزینه e- به ps دستور می دهد تا تمام فرآیندها را نمایش دهد.
گزینه f- یک لیست با فرمت کامل است که اطلاعات دقیقی در مورد فرآیندها ارائه می دهد.
این دستور اطلاعات را در هشت ستون با لیبل های UID، PID، PPID، C، STIME، TIME و CMD نمایش می‌دهد.

UID        PID  PPID  C STIME TTY          TIME CMD
root 1 0 0 19:47 ? 00:00:01 /sbin/init
root 2 0 0 19:47 ? 00:00:00 [kthreadd]
...

UID - همان USER، کاربری که فرآیند را اجرا می کند.
PPID - شناسه فرآیند والد(parent process ID).
C - همانند CPU%، میزان استفاده از CPU.
STIME - مانند START، زمانی است که دستور اجرا شده است.

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

ps -f -U linuxize -u khoshamoz

User-defined Format

گزینه o به شما این امکان را می دهد که مشخص کنید هنگام اجرای دستور ps کدام ستون ها نمایش داده شوند. به عنوان مثال، برای چاپ اطلاعات فقط در مورد PID و COMMAND، باید یکی از دستورات زیر را اجرا کنید:

ps -efo pid,comm


ps auxo pid,comm

ps را می توان در ترکیب با دستورات دیگر از طریق pipe استفاده کرد.
اگر می‌خواهید خروجی دستور ps را نمایش دهید، هر بار یک صفحه آن را به دستور less انتقال دهید:

ps -ef | less

خروجی دستور ps را می توان با grep فیلتر کرد. به عنوان مثال، برای نشان دادن فرآیندهای متعلق به کاربر root دستور زیر را باید اجرا کنید:

ps -ef | grep root

نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز