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

 

دستور ps یکی از دستورات برای نمایش اطلاعات دقیق فرآیندها است. این دستور می‌تواند به صورت زیر استفاده شود:

$ ps aux

خروجی دستور بالا مشابه تصویر زیر می باشد:

 

 

$ ps -aux
$ ps -ef

 

توجه داشته باشید که “ps –aux” از “ps aux” متفاوت است. استانداردهای POSIX و UNIX مستلزم این است که ps -aux تمام فرآیندهای متعلق به کاربری به نام x را چاپ نماید. همچنین همه پردازش‌های انتخاب شده را با گزینه a- چاپ می‌کند. دقت نمایید که اگر کاربری با نام x وجود نداشته باشد، در شرایطی ممکن است این دستور هیچ هشداری را چاپ نکند. بنابراین نباید به آن اعتماد کرد. با این حال، همچنان در مواردی قابل استفاده است.

 

انواع گزینه‌های دستور ps (Process status)

گزینه‌های یونیکس: که باید به همراه - بیاید و قابل گروه بندی است.

گزینه‌های BSD: که نباید به همراه - بیاید و قابل گروه بندی است.

گزینه‌های GNU: که باید به همراه -- بیاید.

 

چنانچه از دستور ps به صورت زیر استفاده می‌کنید:

ps auxf

شما می‌توانید VSZ (اندازه حافظه مجازی فرایند [KiB])، همچنین RSS (اندازه مجموعه resident یا حافظه فیزیکی بدون تعویض که توسط یک فرآیند استفاده شده است) و %CPU (میزان استفاده از پردازنده) را در خروجی مشاهده نمایید.

 

چنانچه از دستور ps به صورت زیر استفاده کنید:

ps -elf

می‌توانید PPID (شناسه فرآیند والد)، NI (مقدار nice) و C (میزان استفاده از پردازنده) را مشاهده نمایید.

 

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

ps e -o ppid,pid,etime,command,pmem,cpu

 

شما همچنین می‌توانید ستون‌هایی غیر از ستون‌های پیش فرض را درخواست نمایید. به عنوان مثال دستور زیر، نمایش گزینه‌های Elapsed time و pmem را نیز درخواست می‌دهد.

ps -ef -O etime,pmem

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

 

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

$ ps -u <user_name>

 

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

$ ps -C <executable_name>

 

با استفاده از دستور زیر می‌توان خروجی ps را بر اساس میزان استفاده از حافظه مرتب نمود.

$ ps aux --sort=-%mem

 

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

$ echo $$

 

فایل‌های باز شده توسط یک فرآیند با استفاده از دستور زیر قابل مشاهده است.

$ lsof -p <PID>

 

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

$ fuser <file>
$ lsof -t <file>

 

 

 

منبع:

medium