~3 min read • Updated Jul 18, 2025
۱. فرآیند چیست؟
در لینوکس، هر فرآیند دارای یک شناسه یکتا (PID) است. فرآیند اصلی سیستم که در بوت اجرا میشود معمولاً init با PID 1 است. فرآیندها میتوانند فرآیندهای فرزند ایجاد کنند و ساختار درختی تشکیل دهند. هسته، وضعیت حافظه، مالکیت و استفاده از CPU را برای هر فرآیند مدیریت میکند.
۲. مشاهده فرآیندها با ps
ps # فرآیندهای متصل به ترمینال جاری
ps x # فرآیندهای کاربر شامل daemonها
ps aux # تمام فرآیندهای سیستم با جزئیات
ستونهای مهم:
- PID: شناسه فرآیند
- TTY: ترمینال متصل به فرآیند
- STAT: وضعیت فرآیند (S = خواب، R = اجرا، Z = zombie)
- %CPU / %MEM: میزان مصرف منابع
۳. پایش زنده با top
topنمایش لحظهای مصرف منابع با دستهبندی بر اساس CPU. خلاصه شامل:
- زمان روشن بودن سیستم و میانگین بار
- تعداد فرآیندهای فعال، خواب و zombie
- جزئیات استفادهٔ CPU و حافظه
کلید h برای راهنما، q برای خروج
۴. مدیریت فرآیندها بهصورت تعاملی
xlogo & # اجرا در پسزمینه
fg %1 # بازگرداندن job 1 به پیشزمینه
Ctrl+Z # توقف فرآیند پیشزمینه
bg %1 # ادامهٔ job 1 در پسزمینه
jobs # نمایش jobهای در حال اجرا
۵. ارسال سیگنال با kill و killall
kill 28401 # ارسال سیگنال TERM به PID
kill -9 28401 # kill اجباری با SIGKILL
killall xlogo # خاتمه تمام فرآیندهای با نام مشخص
سیگنالهای رایج:
SIGINT (2):قطعSIGTERM (15):پایان آرامSIGKILL (9):خاتمه فوریSIGSTOP / SIGCONT:توقف / ادامهٔ فرآیند
۶. فرمانهای خاموشسازی سیستم
shutdown -r now # راهاندازی مجدد فوری
poweroff # خاموشی کامل
reboot # راهاندازی مجدد
خاموشسازی صحیح باعث حفظ دادهها و همگامسازی فایل سیستم میشود.
۷. ابزارهای پیشرفته پایش
| دستور | شرح |
|---|---|
pstree | نمایش درختی ساختار فرآیندها |
vmstat 5 | بروزرسانی منابع هر ۵ ثانیه |
tload | نمودار متنی بار سیستم |
xload | نظارت گرافیکی بر بار سیستم |
نتیجهگیری
لینوکس ابزارهای قدرتمندی برای مدیریت فرآیندها دارد. از ps و top برای مشاهده، تا kill، jobs و fg/bg برای کنترل و تعامل، میتوان عملکرد سیستم را بهصورت دقیق مدیریت کرد. تسلط بر کنترل فرآیندها باعث افزایش اطمینان و توانایی در عیبیابی یا بهینهسازی منابع میشود.
Written & researched by Dr. Shahin Siami