الرئيسيةأنظمة التشغيلwindowsكيف تقتل العمليات من Linux Terminal
windowsاستكشاف الأخطاء وإصلاحها

كيف تقتل العمليات من Linux Terminal

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

ما هي العملية؟

يعد تشغيل البرامج مثل متصفح الويب والعمليات الخلفية المرتبطة ببيئة سطح المكتب وخدمات نظام Linux كلها عمليات.

يمكنك تجميع العمليات في مجموعتين:

  • عمليات المقدمة هي العمليات التي بدأها المستخدم أو أطلقها. قد تكون في نافذة طرفية ، أو قد تكون تطبيقًا رسوميًا.
  • عمليات الخلفية هي جميع العمليات التي تبدأ تلقائيًا وليس لها أي تفاعل مع المستخدمين. لا يتوقعون مدخلات من المستخدمين ولا يقدمون النتائج أو المخرجات لهم. عمليات الخلفية هي أشياء مثل الخدمات والشياطين.

إذا كانت عمليات المقدمة هي واجهة طاقم المسرح والممثلين ، فإن عمليات الخلفية هي وراء الكواليس فريق “خلف الكواليس”.

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

الجواب الإنساني

“قتل” العملية يعني فقط “إجبار العملية على الانسحاب”. قد يكون هذا ضروريًا إذا كانت العملية ترفض الاستجابة.

تقدم لينكس kill، pkillو killallالأوامر للسماح لك أن تفعل ذلك تماما. يمكن استخدام هذه الأوامر مع أي نوع من العمليات ، الرسومية أو سطر الأوامر ، المقدمة أو الخلفية.

أمر القتل

لاستخدام kill، يجب أن تعرف معرّف العملية (PID) للعملية التي ترغب في إنهاؤها. و psيمكن استخدام الأمر لتجد PID عملية.

اقرأ أيضاً :  ابحث عن نص في أي ملف باستخدام SeekFast

أن يكون psالبحث من خلال جميع العمليات استخدام -e الخيار (جميع العمليات). lessيُنصح بتمرير الإخراج عبر الأنابيب ، وسيكون هناك قدر كبير منه. اكتب ps، مسافة ، -eمسافة ، |(حرف أنبوب) ، مسافة أخرى ثم اكتب less. اضغط على Enter لتنفيذ الأمر.

ps -e | less

سيعطيك هذا قائمة عملية تشبه لقطة الشاشة أدناه. يمكنك البحث للأمام lessباستخدام /المفتاح ويمكنك البحث للخلف باستخدام ?المفتاح.

لبدء العملية التي تهتم بها ، قم بتمرير الإخراج من psخلالها grepوحدد الاسم – أو جزء من الاسم – للعملية.

ps -e | grep shutter

بمجرد تحديد PID للعملية التي ترغب في إنهاؤها ، قم بتمريره إلى killالأمر كمعامل. لإنهاء shutterالعملية المحددة بواسطة الأمر السابق ، استخدم هذا الأمر:

kill 2099

و killالأمر قاتل، انها صامتة لا يعطيك أي ردود فعل إذا كان ناجحا.

أمر pkill

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

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

اقرأ أيضاً :  كل ما تحتاج لمعرفته حول SFC / Scannow

لنفترض أن هناك عملية باسم “subq”. سنستخدم ps -u dave | grepالأمر للحصول على نظرة خاطفة خلف الستارة. يمكنك أن ترى أن “subq” ستطابق تلك العملية وتلك العملية وحدها. كان هذا فقط حتى تتمكن من رؤية الاسم الكامل للعملية.

ps -u dave | grep subq

لنفترض أن مستخدمنا لم يفعل ذلك ؛ كل ما يعرفونه هو أن اسم العملية يحتوي على السلسلة الفرعية “subq”. يستخدمون pgrepللتحقق من وجود تطابق واحد فقط لمصطلح البحث. ثم يستخدمون مصطلح البحث هذا مع pkill.

pgrep subq
pkill subq

يمكنك استخدامها pkillلقتل عدة عمليات في وقت واحد. هنا يتم تشغيل المستخدم pgrepللتحقق من عدد العمليات التي أطلقها Chrome. يستخدمون pkillلقتلهم جميعًا. ثم يتأكدون من pgrepأنهم قد أزيلوا جميعًا.

pgrep chrome
pkill chrome
pgrep chrome

في حالة تشغيل العديد من العمليات التي تحمل الاسم نفسه ، ولكنك لا تريد قتلها جميعًا ، يمكنك استخدامها pgrepمع خيار -f(سطر الأوامر) لتحديد أي عملية. مثال بسيط سيكون عمليتين ping. تريد قتل أحدهم دون الآخر. يمكنك استخدام أسطر الأوامر الخاصة بهم للتمييز بينهم. لاحظ استخدام علامات الاقتباس لالتفاف معلمة سطر الأوامر.

pgrep -f "ping 192.168.4.22"
pkill -f "ping 192.168.4.22"

القيادة killall

تحذير : في أنظمة التشغيل Solaris و OpenIndiana ، سيقتل killallالأمر جميع العمليات التي تخصك . إذا كانت الجذر أو إذا كنت قد أصدرت ،  sudo killallفسوف تعيد تشغيل جهاز الكمبيوتر الخاص بك! أثناء البحث في هذه المقالة ، تم تأكيد هذا السلوك مع أحدث إصدار من OpenIndiana Hipster 2018.10.

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

لا يمكنك تقديم تطابق جزئي لاسم العملية ؛ يجب عليك تقديم اسم العملية بالكامل ، كما هو موضح:

killall shutt
killall shutter

و -yالخيار (الذين تقل أعمارهم عن) يسمح لك لقتل العمليات التي تم الترشح ل أقل من المدة المحددة. يتم إعطاء الفترة بالأرقام متبوعة بإحدى هذه الوحدات:

  • ث (ثوان)
  • م (دقائق)
  • ح (ساعات)
  • د (أيام)
  • ث (أسابيع)
  • M (الأشهر ، ملاحظة ، رأس المال “M”)
  • س (سنوات)
اقرأ أيضاً :  ما هي "عملية خمول النظام" ولماذا تستخدم الكثير من وحدة المعالجة المركزية؟

لقتل عملية تسمى anaالتي تم إطلاقها للتو وترك أي حالات قديمة anaللتشغيل ، يمكنك استخدام المعلمات التالية  killall، إذا كنت قد تفاعلت في غضون دقيقتين:

killall -y 2m ana

و -o الخيار (أقدم من) يسمح لك لقتل العمليات التي تم تشغيل لمدة أطول من المدة المحددة. سيقتل هذا الأمر جميع sshالاتصالات التي كانت تعمل لمدة تزيد عن يوم:

killall -o 1d sshd

لا تكن سعيدًا جدًا

ستسمح لك هذه الأوامر بتحديد وإنهاء العمليات الخاطئة بدقة وأمان بشكل صحيح.

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

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

error: عفوا محتوي هذا الموقع محمي بموجب قانون الألفية للملكية الرقمية !!