كيف تقتل عملية في لينكس

How Kill Process Linux



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

قتل عملية

لإنهاء عملية ما ، سنستخدم عددًا قليلاً من الأدوات: قتل و pkill ، و اقتل الكل . كل منهم يعمل في الأساس بنفس الطريقة.







هذه الأدوات لا تنهي العملية نفسها. بدلاً من ذلك ، يرسلون إشارة محددة إلى العملية المستهدفة أو مجموعات العملية. إذا لم تحدد أي إشارة محددة ، فسيتم إرسال SIGTERM كإشارة افتراضية. ومع ذلك ، هناك عدد من الإشارات المدعومة ، على سبيل المثال ، SIGKILL و SIGHUP وما إلى ذلك.



إليك بنية الأوامر الأساسية لـ قتل و pkill و اقتل الكل .



$قتل <إشارة_أو_خيارات> <PID(س)>
$ pkill<إشارة_أو_خيارات> <اسم العملية>
$اقتل الكل <اختيار> <اسم العملية>

كلما كان ذلك ممكنًا ، يوصى باستخدامه قتل .





قتل و pkill و اقتل الكل المواقع

Kill هو الأمر الافتراضي لإنهاء العملية.



$قتل --يساعد

يتم تشغيله من دليل / usr / bin.

$أي قتل

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

$pkill--يساعد

$أيpkill

تقوم بعض التطبيقات بتشغيل عمليات متعددة لنفس الملف القابل للتنفيذ. إذا كنت تريد إنهاء عدد من العمليات بنفس الاسم ، فاستخدم أداة killall.

$اقتل الكل --يساعد

$أي اقتل الكل

سرد جميع العمليات الجارية

المهمة الأولى هي تحديد PID (رقم تعريف العملية) و / أو اسم العملية التي تريد إنهاؤها. في هذا المثال ، سأستخدم Firefox كعملية مستهدفة للإنهاء. قم بتشغيل الأمر التالي لسرد جميع العمليات الجارية على النظام.

$ملاحظة -إلى

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

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

$بيدوف <اسم العملية>

أداة أخرى مثيرة للاهتمام للحصول على المعلومات حول العملية المستهدفة هي pgrep. إنه مصمم خصيصًا لهذا الغرض.

$pgrep<اختيار> <اسم العملية>

اقتل الإشارات

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

أولاً ، دعنا نلقي نظرة على القائمة التي تدعم القتل.

$قتل -ال

هناك طريقتان لتحديد الإشارة التي تريد إرسالها. يمكنك إما استخدام اسم الإشارة الكامل أو القيمة المكافئة له.

$قتل-<الإشارة> <PID>

أو،

$قتل-<إشارة_قيمة> <PID>

الإشارات الأكثر شيوعًا هي SIGHUP (1) و SIGKILL (9) و SIGTERM (15). بشكل عام ، تعد SIGTERM هي الطريقة الافتراضية والأكثر أمانًا لإنهاء عملية الهدف.

في حالة pkill ، تكون الإشارة المدعومة هي نفسها Kill. ومع ذلك ، في حالة killall ، يختلف عدد الإشارات المدعومة وأسماء الإشارات.

$اقتل الكل -ال

قتل عملية

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

$قتل <اختيار> <PID>

هنا ، سترسل Kill الإشارة الافتراضية SIGTERM إلى PID (s). إذا كنت ترغب في إنهاء عمليات متعددة ، فذكر جميع PIDs مفصولة بمسافة.

$قتل <اختيار> <PID_1> <PID_2>

دعنا نحدد الإشارة التي ترغب في إرسالها إلى الهدف.

هل تريد إنهاء عملية باستخدام اسمها فقط؟ استخدم pkill.

$pkill<اختيار> <اسم العملية>

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

$اقتل الكل <اختيار> <اسم العملية>

على سبيل المثال ، عند تشغيل Firefox ، يبدأ عددًا قليلاً من العمليات. لقتلهم جميعًا مرة واحدة ، قم بتشغيل هذا الأمر.

$اقتل الكلثعلب النار

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

$اقتل الكل -u <المستعمل>

تعارض الأذونات

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

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

$قتل نعم

الآن ، ماذا لو نعم كان يركض تحت جذر ؟ استدعاء القتل لأن المستخدم الحالي لن يعمل.

وبالمثل ، إذا كانت العملية تعمل تحت إشراف مستخدم آخر ، فلا يمكنك إنهاؤها من حساب مستخدم مختلف.

افكار اخيرة

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

$رجل قتل

$رجلpkill

يتمتع!