الانتقال إلى المحتوى الرئيسي
الوحدة 5 · الدرس 1 من 210/11 في الدورة~12 min
دروس الوحدة (1/2)

إدارة العمليات (ps والقتل)

في Linux، يُسمى كل برنامج قيد التشغيل عملية. يتم تعيين معرف رقمي فريد لكل عملية يسمى PID (معرف العملية). يعد فهم كيفية مراقبة هذه العمليات وإدارتها أمرًا ضروريًا للحفاظ على استقرار النظام وأدائه.


عمليات المراقبة: ps

يعرض الأمر ps (حالة العملية) لقطة للعمليات الحالية. بشكل افتراضي، فهو يسرد فقط العمليات المرتبطة بالمستخدم الحالي والنافذة الطرفية الحالية.

للحصول على عرض كامل لجميع العمليات الجارية على النظام، يتم استخدام مجموعة خيارات BSD aux بشكل شائع:

  • a: يعرض العمليات لجميع المستخدمين.
  • u: يعرض مالك العملية واستخدام موارد وحدة المعالجة المركزية/الذاكرة.
  • x: يسرد العمليات غير المرتبطة بأي محطة (مثل خدمات الخلفية).
Bash
ps aux

إخراج ps aux عبارة عن جدول منظم يعرض أعمدة مهمة مثل USER، ​​وPID، و%CPU، و%MEM، وCOMMAND (الأمر الذي بدأ العملية).


إنهاء العمليات: kill وkillall

إذا توقفت العملية عن الاستجابة أو استهلكت الكثير من الموارد، فيمكننا إنهاؤها عن طريق إرسال إشارة.

الأمر kill

يرسل الأمر kill إشارة إلى عملية محددة بواسطة PID الخاص بها:

Bash
kill 2048       # Sends the SIGTERM (15) signal, requesting a clean shutdown
kill -9 2048    # Sends the SIGKILL (9) signal, forcing immediate termination

[!تحذير] استخدم kill -9 فقط كملاذ أخير، لأنه لا يسمح للبرنامج بحفظ البيانات أو إغلاق الملفات المفتوحة بشكل نظيف.

الأمر killall

إذا كنت لا تعرف PID أو تريد إنهاء جميع عمليات البرنامج بالاسم، فيمكنك استخدام killall:

Bash
killall python  # Terminates all processes named 'python'

جربه بنفسك

التمرين 1: قم بإدراج جميع العمليات

تمرين#linux.m5.l1.e1
المحاولات: 0جارٍ التحميل…

عرض قائمة كاملة بجميع العمليات الجارية على النظام باستخدام خيارات "aux".

جارٍ تحميل المحرر…
إظهار التلميح

استخدم الأمر "ps" متبوعًا بالخيار "aux".

الحل متاح بعد 3 من المحاولات

التمرين 2: إنهاء العملية بواسطة PID

تمرين#linux.m5.l1.e2
المحاولات: 0جارٍ التحميل…

قم بإنهاء عملية python باستخدام PID 2048 باستخدام الأمر "kill".

جارٍ تحميل المحرر…
إظهار التلميح

استخدم "kill" متبوعًا بمعرف العملية (PID) للعملية (2048).

الحل متاح بعد 3 من المحاولات

التمرين 3: إنهاء كافة العمليات بالاسم

تمرين#linux.m5.l1.e3
المحاولات: 0جارٍ التحميل…

قم بإنهاء كافة العمليات الجارية المرتبطة ببرنامج "python" باستخدام الأمر "killall".

جارٍ تحميل المحرر…
إظهار التلميح

استخدم "killall" متبوعًا باسم البرنامج، في هذه الحالة "python".

الحل متاح بعد 3 من المحاولات