إدارة عمليات Linux بسهولة باستخدام ps وkill وpkill

تعد إدارة العمليات في أنظمة Linux جزءًا أساسيًا من صيانة النظام وتحسين أدائه. الأدوات مثل ps و kill و pkill تعد من الأدوات القوية التي تساعد المشرفين على الأنظمة في مراقبة العمليات وإيقافها بشكل فعال. في هذه المقالة، سنتعرف على كيفية استخدام هذه الأدوات بشكل صحيح لإدارة العمليات بكفاءة وتحقيق أفضل أداء للنظام.

52849181953_8f27faed00_o إدارة عمليات Linux بسهولة باستخدام ps وkill وpkill

كل ما يتم تشغيله على جهاز الكمبيوتر الذي يعمل بنظام Linux هو عملية. يجب أن تعمل العمليات بشكل جيد مع العمليات الأخرى، ولكن في بعض الأحيان يجب التعامل معها بعناية. يوفر Linux الأدوات التي ستحتاجها.

العمليات وLinux

تستخدم أجهزة الكمبيوتر التي تعمل بنظام Linux مجموعة خاصة من البرامج وأنظمة الملفات المؤقتة لتشغيل جهاز الكمبيوتر الخاص بك إلى النقطة التي يمكن عندها بدء تشغيل نظام التشغيل. ثم يقوم النواة بإنشاء أول عملية مساحة مستخدم، من خلال تشغيل عملية systemd.

يتم إعطاء جميع العمليات رقمًا كمعرف عملية، أو PID. تحتوي عملية systemd على PID واحد. يمكن للعمليات تشغيل عمليات أخرى، تُعرف بالعمليات الفرعية. تسمى العملية التي أطلقتها بالعملية الأصلية. جميع عمليات مساحة المستخدم العادية التي تعمل على جهاز الكمبيوتر الخاص بك هي من نسل systemd.

إذا كانت العملية مكتوبة بشكل سيئ أو دخلت في حالة خطأ، فقد تتجمد وتصبح غير مستجيبة، أو تعرض بعض السلوكيات غير المرغوب فيها الأخرى. إذا كانت هذه هي الحالة، فستحتاج إلى التحكم في هذه العملية، أو حتى إيقافها.

اقرأ أيضا:  شرح الطوابع الزمنية لملفات Linux لـ : atime وmtime وctime

توفر هذه الأوامر والأدوات المساعدة مجموعة أدوات شاملة لإدارة العمليات.

الأمر top: لوحة معلومات النظام الديناميكية

يمنحك الأمر top عرضًا ديناميكيًا للعمليات الجارية على جهاز الكمبيوتر الخاص بك. يتم عرض كل عملية كسطر في جدول، مع إدخالات أعمدة تمثل إحصائيات مختلفة حول هذه العملية. يتم إعادة فرز الجدول عند تغير القيم.

2 إدارة عمليات Linux بسهولة باستخدام ps وkill وpkill

Ctrl+Shift+M يقوم بالفرز حسب العمود %MEM، وShift+P يقوم بالفرز حسب العمود %CPU. يؤدي فرز العمود مرتين إلى عكس ترتيب الفرز. يتيح لك هذا اكتشاف العمليات التي تستخدم معظم وقت RAM أو CPU بسرعة.

لقتل عملية، اضغط على الحرف الصغير “k” ثم اكتب معرف العملية التي تريد قتلها. عند مطالبتك بالإشارة، أدخل 9 ثم اضغط على Enter.

الأمر htop: لوحة معلومات أخرى للنظام الديناميكي

برنامج htop هو top، وهو أكثر ودية بعض الشيء. يمكنك الحصول على ألوان ورسوم بيانية في top، ولكن الرسوم البيانية في htop أكثر قابلية للتكوين، واستخدام اللون هو ميزة تصميمية وليس فكرة لاحقة. الأعمدة هي نفسها الموجودة في top، ما لم تقم بتكوينها بشكل مختلف.

3 إدارة عمليات Linux بسهولة باستخدام ps وkill وpkill

لقتل عملية في htop، قم بتمييز العملية، واضغط على “k” بأحرف صغيرة (أو F9)، ثم انقل تمييز القائمة إلى SIGKILL، واضغط على Enter.

الأمر ps: سرد العمليات من سطر الأوامر

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

ps
ps -e

4 إدارة عمليات Linux بسهولة باستخدام ps وkill وpkill

بإمكانك توجيه الإخراج عبر grep للبحث عن العمليات حسب الاسم.

ps -e | grep firefox

5 إدارة عمليات Linux بسهولة باستخدام ps وkill وpkill

يقوم خيار –forest بتنسيق الناتج في شكل شجرة، مما يجعل من السهل التعرف على العمليات الفرعية والوالدية. وهذا مفيد لأنه إذا قمت بقتل أحد الوالدين، فإنك بذلك تقتل كل أبنائه أيضًا.

ps -e --forest

6 إدارة عمليات Linux بسهولة باستخدام ps وkill وpkill

أمر pstree: شجرة أكثر جاذبية

يقوم أمر pstree بإنشاء أشجار عمليات تُظهر علاقات الوالدين والأبناء بطريقة منظمة ومختصرة ومفيدة.

يتم عرض العديد من الأبناء المتطابقين كمدخل واحد مع وضع اسم العمليات الأبناء بين قوسين.

parent-5*[child-processes]

يشير الرقم والعلامة النجمية “*” إلى عدد العمليات الفرعية. تشير الأقواس المتعرجة إلى أن العمليات عبارة عن خيوط. وفي هذه الحالة، يكون الاسم المعروض هو اسم العملية الأصلية.

parent-3*[{name-of-parent}]

لعرض معرفات العمليات (PIDs)، استخدم الخيار -p (إظهار معرفات العمليات (PID)).

pstree -p 

7 إدارة عمليات Linux بسهولة باستخدام ps وkill وpkill

نحن مهتمون بالعمليات وليس الخيوط. قم بإخفاء الخيوط باستخدام الخيار -T (إخفاء الخيوط) لإزالة الفوضى من الشجرة.

pstree -p -T

8 إدارة عمليات Linux بسهولة باستخدام ps وkill وpkill

يمكنك بدء الشجرة في أي عملية، من خلال تقديم معرف العملية الخاص بها. هنا، نطلب معرفات العملية، وعدم وجود خيوط، وبدء الشجرة بمعرف العملية 14937.

pstree -pT 14937

9 إدارة عمليات Linux بسهولة باستخدام ps وkill وpkill

أمر Kill: تم إنهاء العملية

ينهي أمر القتل العملية بمعرف عملية معين. إذا لم تكن تملك العملية، فستحتاج إلى استخدام sudo.

اقرأ أيضا:  دور هذه اللعبة الكلاسيكية في تعزيز شعبية نظام Linux بين المستخدمين

في المثال السابق، لدينا نافذة طرفية تشغل غلاف Bash، الذي أطلق عملية تسمى Drain.

سنمرر معرف عملية Drain إلى Kill، وننهيها.

kill 15197
pstree -pT 14937

10 إدارة عمليات Linux بسهولة باستخدام ps وkill وpkill

تم إيقاف عملية الاستنزاف.

أمر pgrep: سيتم أخذ الأسماء

إن الاضطرار إلى العثور على معرف العملية قبل إيقافها يعمل بشكل جيد، ولكنه أمر صعب بعض الشيء. يتخطى أمر pkill خطوة واحدة بقبول اسم عملية بدلاً من معرف العملية. ومع ذلك، يتم إيقاف جميع العمليات المطابقة.

إذا ظهر دليل البحث الخاص بك في اسم عملية أخرى، فسيتم إيقاف هذه العملية الأخرى أيضًا. على سبيل المثال، يؤدي استخدام “dbus” كدليل بحثك إلى إيقاف عملية dbus، وعملية dbus-daemon أيضًا.

يخبرك أمر pgrep بالعمليات التي تطابق دليل البحث الخاص بك، ولكنه يترك العمليات المطابقة دون مساس. يمكنك استخدامه لتشغيل أمر pkill الخاص بك.

لنفترض أنك تريد إيقاف تشغيل Firefox. ما الذي سيتم إيقاف تشغيله إذا استخدمت “fox” كدليل بحث؟ يخبر الخيار -l (قائمة الأسماء) الأمر pgrep بتضمين اسم العملية في الإخراج.

pgrep -l fox

11 إدارة عمليات Linux بسهولة باستخدام ps وkill وpkill

في حالتنا، سيتم أيضًا قتل العملية المسماة foxglove. إذا بحثنا عن “fire”، فسوف نقتل عملية firefox فقط.

pgrep -l fire

12 إدارة عمليات Linux بسهولة باستخدام ps وkill وpkill

الأمر pkill وkillall: قائمة النتائج

يقبل الأمران pkill وkillall عملية البحث والمطابقة. والفرق بينهما هو أن الأمرين killall لا يحاولان إجراء مطابقات جزئية مثل الأمرين pkill وpgrep، بل يعملان مع الأسماء الكاملة فقط.

pgrep -l fire
pkill fire
pgrep -l fire

13 إدارة عمليات Linux بسهولة باستخدام ps وkill وpkill

لقد قمنا بالتحقق من العمليات التي تحتوي على كلمة “fire” في أسمائها، ووجدنا حالتين من Firefox. لقد قتلناها باستخدام pkill، وتأكدنا من اختفائها.

اقرأ أيضا:  دليل شامل لتثبيت تطبيقات Windows على Linux باستخدام PlayOnLinux

أمر renice: التكامل الاجتماعي

كما قلت سابقًا، يجب أن تعمل العمليات بشكل جيد مع العمليات الأخرى. وقت وحدة المعالجة المركزية محدود، ويجب مشاركته. ولكن بعض العمليات بالغة الأهمية، وتستحق وقتًا أطول لوحدة المعالجة المركزية من المهام ذات الأولوية الأقل.

تحتوي جميع العمليات على قيمة nice، بين -19 و20. وكلما زاد الرقم، كانت العملية أفضل. إنها تسمح للعمليات ذات أرقام nice الأقل بالخدمة قبل نفسها.

وكلما انخفض الرقم، كانت العملية أكثر أنانية. فهي تريد أن يتم التعامل معها قبل العمليات الأخرى. يتم تشغيل العملية المتوسطة بقيمة nice تساوي صفرًا، مما يعني “عاملني مثل أي شخص آخر”.

يضبط أمر renice قيمة nice لعملية ما. سنحدد قيمة nice تساوي 15 لعملية التصريف.

pgrep drain
renice 15 18577

14 إدارة عمليات Linux بسهولة باستخدام ps وkill وpkill

يتطلب تقليل القيمة اللطيفة sudo.

pgrep drain
renice 0 18577
sudo renice 0 18577

15 إدارة عمليات Linux بسهولة باستخدام ps وkill وpkill

أمر xkill: لنظام X فقط

ملاحظة
يعمل أمر xkill فقط على GNOME، على X. ولا يعمل مع Wayland.

إذا كنت تقوم بتشغيل GNOME على X، فإن كتابة xkill في نافذة المحطة الطرفية يغير المؤشر إلى “x” أو رمز آخر مثل الجمجمة والعظام المتقاطعة. يعتمد الشكل على توزيعك.

16 إدارة عمليات Linux بسهولة باستخدام ps وkill وpkill

إن تحريك المؤشر إلى نافذة تطبيق GNOME والنقر بزر الماوس الأيسر يؤدي إلى إنهاء هذا التطبيق.

مجموعة قوية من الأدوات

تحذير
هذه الأدوات قادرة على تحديد أي عملية وإنهائها، لذا كن حذرًا!

تأكد من أن العملية التي توشك على إنهائها ليست جزءًا حيويًا من نظام التشغيل لديك. إذا كانت كذلك، فتذكر أن إنهاء المهمة لا يزيلها من جهاز الكمبيوتر الخاص بك، لذا فإن إعادة التشغيل ستصلح الأخطاء. لكن هذا لا يزال يمثل إزعاجًا، لذا تأكد قبل الضغط على الزناد.

من خلال إتقان استخدام أدوات مثل ps و kill و pkill، يمكن للمستخدمين والمهندسين تحقيق السيطرة الكاملة على العمليات في أنظمة Linux. هذه الأدوات لا تساهم فقط في تحسين الأداء، بل أيضًا تسهل إدارة النظام بشكل يومي، مما يعزز الكفاءة ويحسن استقرار النظام على المدى الطويل.

قد يعجبك ايضا