وضعیت فرایندها (Process Status (ps))
می خواهی ببینی چه برنامه هایی فعال اند؟ دستور «ps» یک عکس فوری از «فرایند (Process)» می گیرد. فرایند یعنی برنامه درحال اجرا. با ps سریع وضعیت فرایندها را می بینی.
وضعیت فرایندها با ps
ps خروجی ستونی می دهد. ستون ها مهم اند: PID، TTY، TIME، CMD. PID شناسه یکتاست. TTY یعنی ترمینال. TIME مصرف CPU است. CMD نام دستور است.
ps
PID TTY TIME CMD
1234 pts/0 00:00:01 bash
5678 pts/1 00:00:02 python
9101 pts/2 00:00:03 node
نمایش همه فرایندها: -e
گزینه -e همه فرایندهای سیستم را نشان می دهد. این برای تصویر کلی مفید است.
ps -e
PID TTY TIME CMD
1234 pts/0 00:00:01 bash
5678 pts/1 00:00:02 python
9101 pts/2 00:00:03 node
نمایش جزئیات بیشتر: -f
گزینه -f اطلاعات کامل تری می دهد. مثلاً UID و PPID و زمان شروع.
ps -f
UID PID PPID C STIME TTY TIME CMD
user 1234 1 0 08:00 pts/0 00:00:01 bash
user 5678 1234 0 08:01 pts/1 00:00:02 python
user 9101 5678 0 08:02 pts/2 00:00:03 node
فیلتر بر اساس کاربر: -u
با -u فرایندهای یک کاربر خاص را ببین. هنگام دیباگ حساب ها مفید است.
ps -u user
PID TTY TIME CMD
1234 pts/0 00:00:01 bash
5678 pts/1 00:00:02 python
فرایندهای متصل به ترمینال: -a
-a فرایندهای کاربری دارای ترمینال را نشان می دهد. برای نشست های فعال خوب است.
ps -a
PID TTY TIME CMD
1234 pts/0 00:00:01 bash
5678 pts/1 00:00:02 python
فرایندهای بدون ترمینال: -x
-x سرویس ها و فرایندهای بدون TTY را هم می آورد. برای سرویس ها ضروری است.
ps -x
PID TTY TIME CMD
9101 ? 00:00:03 node
ترکیب گزینه ها: -ef
می توانی گزینه ها را ترکیب کنی. -ef یعنی همه + جزئیات. برای مرور کامل عالی است.
ps -ef
UID PID PPID C STIME TTY TIME CMD
user 1234 1 0 08:00 pts/0 00:00:01 bash
user 5678 1234 0 08:01 pts/1 00:00:02 python
user 9101 5678 0 08:02 pts/2 00:00:03 node
نکته: برای پایش زنده از top استفاده کن. برای دیدن ابتدای فایل ها از head کمک بگیر. این دو کنار «وضعیت فرایندها» تصویر کامل می دهند.
تمرین گام به گام وضعیت فرایندها
- با
psخروجی پایه را ببین. - با
ps -eتصویر کلی بگیر. - با
ps -fستون های بیشتر را بررسی کن. - با
ps -u $USERفقط خودت را ببین. - با
ps -efهمه چیز را یک جا تحلیل کن.
جمع بندی سریع
- ps عکس فوری از فرایندها می دهد.
- -e همه فرایندها را می آورد.
- -f جزئیات کامل نشان می دهد.
- -u برای کاربر خاص است.
- -x فرایندهای بدون ترمینال را می آورد.