انتقل إلى المحتوى الرئيسي

الفصل 4.2 - تصور العمليات

الأهداف التعليمية​

في نهاية هذا الفصل، ستكون قادرًا على:

  • استخدام ps بفعالية
  • المراقبة باستخدام top و htop
  • فهم المعلومات المعروضة
  • تصفية وفرز العمليات

ps - قائمة العمليات​

الصياغة الأساسية​

# جميع العمليات
ps aux

# عمليات المستخدم الحالي
ps

# صيغة BSD
ps aux

# الصيغة القياسية
ps -ef

الخيارات المفيدة​

# صيغة مخصصة
ps -eo pid,ppid,user,cmd,%mem,%cpu,etime

# حسب المستخدم
ps -u user1
ps aux | grep user1

# حسب الأمر
ps aux | grep apache

# شجرة العمليات
ps auxf
ps -ejH
ps --forest

# عمليات من طرفية
ps -t tty1

الأعمدة المهمة​

  • PID: معرف العملية
  • PPID: معرف العملية الأم
  • USER: المالك
  • %CPU: استخدام المعالج
  • %MEM: استخدام الذاكرة
  • STAT: الحالة (R, S, T, Z, D)
  • START: وقت البدء
  • TIME: وقت استخدام المعالج
  • COMMAND: الأمر الكامل

top - المراقبة في الوقت الحقيقي​

الواجهة التفاعلية​

top

العنوان يعرض:

  • وقت النظام ومدة التشغيل
  • عدد المستخدمين
  • الحمل المتوسط
  • حالات العمليات
  • استخدام المعالج والذاكرة

الجسم يعرض:

  • قائمة العمليات
  • مرتبة حسب المعالج (افتراضيًا)

الأوامر في top​

# التنقل
h # مساعدة
q # خروج
Space # تحديث فوري

# الترتيب
P # حسب المعالج (افتراضي)
M # حسب الذاكرة
T # حسب وقت المعالج
N # حسب PID
k # قتل عملية (يطلب PID)
r # Renice (تغيير الأولوية)

# الفلاتر
u # تصفية حسب المستخدم
o # تصفية حسب معيار
= # إعادة تعيين الفلاتر

# العرض
1 # عرض جميع المعالجات
f # اختيار الأعمدة
W # حفظ التكوين

خيارات سطر الأوامر​

# تحديث مخصص
top -d 5 # كل 5 ثواني

# حسب المستخدم
top -u user1

# عملية محددة
top -p 1234,5678

# وضع الدفعة (للنصوص البرمجية)
top -b -n 1 > processus.txt

htop - النسخة المحسنة​

التثبيت​

# أوبونتو/ديبيان
sudo apt install htop

# ريد هات/سينت أو إس
sudo yum install htop
# أو
sudo dnf install htop

المزايا​

  • واجهة ملونة وبديهية
  • التنقل باستخدام الأسهم
  • تصفية سهلة
  • شجرة العمليات البصرية
  • أشرطة التقدم

الاستخدام​

htop

الاختصارات:

  • F2: التكوين
  • F3: البحث
  • F4: التصفية
  • F5: عرض الشجرة
  • F6: الترتيب
  • F9: قتل عملية
  • F10: الخروج
  • Space: تحديد عملية

أدوات أخرى​

pstree - شجرة العمليات​

# شجرة بسيطة
pstree

# مع PIDs
pstree -p

# مع المستخدمين
pstree -u

# حسب المستخدم
pstree -u user1

pgrep - البحث بالاسم​

# العثور على PID بالاسم
pgrep apache
pgrep -u user1 bash

# عرض الاسم أيضًا
pgrep -l apache

# العد
pgrep -c apache

pidof - PID لبرنامج​

# PID لبرنامج
pidof apache2
pidof -s apache2 # PID واحد فقط

معلومات مفصلة​

/proc/[PID]/​

دليل يحتوي على معلومات عن كل عملية:

# عرض معلومات عملية
cat /proc/1234/status
cat /proc/1234/cmdline
cat /proc/1234/environ
cat /proc/1234/io # I/O
cat /proc/1234/fd/ # الملفات المفتوحة

stat و status​

# الحالة المفصلة
cat /proc/1234/status

# المعلومات الخام
cat /proc/1234/stat

ملخص​

في هذا الفصل، تعلمت:

ps: قائمة العمليات، خيارات عديدة
top: المراقبة في الوقت الحقيقي، واجهة تفاعلية
htop: النسخة المحسنة، أكثر سهولة
pstree: شجرة العمليات
pgrep/pidof: البحث عن العمليات بالاسم
/proc/: معلومات مفصلة عن العمليات


الخطوات التالية​

الفصل 4.3: التحكم في العمليات
الفصل 4.4: الأولويات وقيم Nice


تم إنشاء الفصل في: ديسمبر 2024