دستور ps‌در لینوکس همانطور که میدانیم لینوکس یک سیستم Multitasking (چند کاره) و Multi - User (چند کاربره) میباشد به این معنی که لینوکس میتواند بدون دخالت و ایجاد مشکل چندین Process را در خودش پردازش کند به طور خلاصه Process به فرایند اجرای یک برنامه گفته میشود که کار های مختلفی در آن صورت میگیرد دستور ps مخفف کلمات Process Status میباشد که معنی آن میشود وضعیت فرایند یا وضعیت یک فرایند با استفاده از این دستور ما میتوانیم Process های باز و موجود در سیستم لینوکسی خود را به صورت کامل همراه با پارامتر های همچون PID ، نام آن Process و. را ببینیم و نظارت بر روی آن ها داشته باشیم دستور ps این اطلاعات از دایرکتوری/ proc میخواند این دایرکتوری یک دایکتوری مجازی در لینوکس میباشد که حاوی اطلاعات مختلف و Binary های هسته لینوکس میباشد دستور ps را وقتی در محیط shell و یا همان ترمینال لینوکسی خود وارد کنیم اطلاعات Process های فعال در همان شل را برای ما به نمایش در میاورد اصول دستوری کار با ps به شکل زیر است [~] ps [ options ] دستور ps را که وارد میکنیم خروجی به شکل زیر به ما میدهد [~] ps PID TTY TIME CMD pts / : : bash pts / : : ps PID : مخفف کلامات Process ID هر Process در سیستم دارای یک شناسه عددی میباشد که به آن PID گفته میشود TTY : نوع ترمینالی که این Process ها در آن اجرا شده اند TIME : زمان اختصاص داده شده برای پردازش آن Process CMD : دستوراتی که موجب اجرا شدن آن Process شده است نکته: درصورتی که TIME بر روی : : باشد یعنی هیچ مقدار زمانی از CPU به آن اختصاص داده نشده است و آن Process از CPU استفاده نکرده است برای مثال Bash هیچگاه از CPU استفاده نکرده است دستور بعدی با سوییچ - A و یا - a (فرقی نمیکند) این سوییچ تمام Process های روی سیستم را به نمایش در میاورد جز Session - Leader ها و Process های که از طریق ترمینال ران نشده اند را به نمایش در می‌آورد [~] ps - a PID TTY TIME CMD pts / : : man pts / : : less pts / : : ps session - Leader : یک session (نشست) منحصر به فرد میباشد که خارج از Group Session می‌باشد و Process های دیگری را اجرا میکند نمایش تمام Process ها جز Session - Leader ها با سوییچ - d [~] ps - d اگر میخواید session - leader هارا نیز ببینید از دستور زیر میتوانید استفاده کنید [~] ps - a - N OR [~] ps - a - N - - deselect نمایش Process های که از طریق ترمینال اجرا شده اند [~] ps - T نمایش تمامی Process های درحال اجرا [~] ps - r نمایش Process ها براساس فیلتر ها و خروجی های مد نظرمان برای مثال شما میخواهید اطلاعات یک لیست PID را با دستور ps در سیستم خود بفهمید یا میخواهید اطلاعات Process یک command (دستور) اجرا شده را بدانید و یا Process های یک Group ID خاص را ببینید نمایش Process با استفاده از اعمال فیلتر براساس PID : اصول دستوری: ps p process _ id ps - p process _ id ps - - pid process _ id مثال: [~] ps p PID TTY STAT TIME COMMAND ? Ss : sshd : [~] ps - p PID TTY TIME CMD ? : : sshd [~] ps - - pid PID TTY TIME CMD ? : : sshd نمایش Process ها براساس Group ID Syntax : ps - g group _ id ps - group group _ id Example : [~] ps - g PID TTY TIME CMD ? : : dhcpclient نمایش اطلاعات یک Command (دستور) اصول: ps - C command _ name مثال: [~] ps - C ifconfig PID TTY TIME CMD ? : : ifconfig نمایش Process ها براساس فیلتر Group name اصول: ps - G group _ name ps - - Group group _ name مثال: [~] ps - G root نمایش اطلاعات به صورت Full - Format [~] ps - F نمایش اطلاعات براساس session - ID [~] ps - s or [~] ps - - sid نمایش اطلاعات براساس TTY [~] ps - t pts / نمایش اطلاعات براساس User اصول: ps U user _ name / ID ps - U user _ name / ID ps - u user _ name / ID ps User user _ name / ID ps user user _ name / ID مثال: [~] ps - U AmirHoseinTangairiNet نویسنده: امیرحسین تنگسیری نژاد