اقتل (أمر)

في مجال الحوسبة ، killهو أمر يستخدم في العديد من أنظمة التشغيل الشائعة لإرسال إشارات إلى العمليات الجارية .

التطبيقات

يونكس والأنظمة الشبيهة بيونكس

في أنظمة التشغيل يونكس والأنظمة الشبيهة بيونكسkill ، يُستخدم الأمر ` kill` لإرسال إشارة إلى عملية. افتراضيًا، تكون الرسالة المُرسلة هي إشارة الإنهاء ، التي تطلب من العملية الخروج . لكن تسمية `kill` قد تكون مُضللة بعض الشيء؛ فقد لا تكون الإشارة المُرسلة مرتبطة بإنهاء العملية. killيُعد الأمر ` kill` غلافًا لاستدعاء النظام `get` ، الذي يُرسل إشارات إلى العمليات أو مجموعات العمليات على النظام، ويُشار إليها بمعرفات العمليات الرقمية (PIDs) أو معرفات مجموعات العمليات الرقمية (PGIDs). يُوفر الأمر `kill` دائمًا كأداة مستقلة وفقًا لمعيار POSIX . مع ذلك، تحتوي معظم أنظمة الصدفة على أوامر مُدمجة قد تختلف عنه اختلافًا طفيفًا. [ 1 ] [ 2 ]kill()killkill

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

يمكن للبرنامج "اعتراض" جميع الإشارات باستثناء SIGKILL و SIGSTOP ("إيقاف")، مما يعني إمكانية استدعاء دالة خاصة عند استقبال البرنامج لهاتين الإشارتين. لا يرى نواة النظام المضيف سوى الإشارتين SIGKILL وSIGSTOP ، مما يوفر طرقًا موثوقة للتحكم في تنفيذ العمليات. تؤدي إشارة SIGKILL إلى إنهاء العملية، بينما توقفها إشارة SIGSTOP مؤقتًا حتى يتم استقبال إشارة SIGCONT ("متابعة"). [ 3 ]

يوفر نظام يونكس آليات أمان لمنع المستخدمين غير المصرح لهم من إنهاء العمليات الأخرى. وبشكل أساسي، لكي ترسل عملية ما إشارة إلى أخرى، يجب أن يكون مالك العملية المُرسِلة هو نفسه مالك العملية المُستقبِلة أو أن يكون المستخدم المتميز (rootuser) .

تختلف أسماء الإشارات المتاحة، ويتم ربطها بأرقام محددة. وقد يختلف هذا الربط بين الأرقام والإشارات بين أنظمة يونكس المختلفة. فإشارة SIGTERM غالبًا ما تكون مرقمة بـ 15، بينما إشارة SIGKILL غالبًا ما تكون مرقمة بـ 9.

أمثلة

يمكن إرسال إشارة SIGTERM إلى عملية ما بأربع طرق (معرف العملية هو '1234' في هذه الحالة):

اقتل 1234 اقتل -s الطرفية 1234 اقتل -الطرفية 1234 اقتل -15 1234

يمكن إرسال إشارة SIGKILL إلى العملية بثلاث طرق:

اقتل -s اقتل 1234 اقتل -اقتل 1234 اقتل -9 1234

تشمل الإشارات المفيدة الأخرى HUP وTRAP وINT و SEGV وALRM. تُرسل إشارة HUP إشارة SIGHUP . تقوم بعض البرامج، مثل Apache و Sendmail ، بإعادة قراءة ملفات التكوين عند استقبال إشارة SIGHUP، لذا يمكن استخدام أمر kill لهذا الغرض أيضًا. يمكن توليد إشارة SIGINT بسهولة بالغة بالضغط على CTRL+C في معظم واجهات Unix . من الشائع أيضًا ربط + بإشارة SIGTSTP (إيقاف الطرفية)، وربط + (الشرطة المائلة العكسية) بإشارة SIGQUIT ، التي تُجبر البرنامج على إنشاء ملف تفريغ الذاكرة .CTRLZCTRL\

  • يُستدعى الأمر killall تلقائيًا في بعض توزيعات يونكس، مثل سولاريس ، عند إيقاف تشغيل النظام . يعمل هذا الأمر بشكل مشابه للأمر kill المذكور أعلاه، ولكنه يُرسل الإشارة إلى جميع العمليات في النظام بدلًا من إرسالها إلى عملية مُحددة. في بعض الأنظمة، مثل IRIX ولينكس وفري بي إس دي ، يُمكن تحديد اسم العملية (أو العمليات) المراد إنهاؤها باستخدام وسيطة. على سبيل المثال، لإنهاء عملية مثل مُشغل الموسيقى XMMSxmms الذي يتم تشغيله بواسطة الأمر killall ، يُنفذ المستخدم الأمر killall killall xmms. سيؤدي هذا إلى إنهاء جميع العمليات التي تحمل اسم العملية xmms، وهو مُكافئ للأمر killall kill `pidof xmms`في أنظمة مثل سولاريس.
  • pkill – يُشير إلى العمليات بناءً على اسمها وخصائص أخرى. تم تقديمه في Solaris 7، وأُعيد تنفيذه لاحقًا لأنظمة Linux و NetBSD و OpenBSD . يُسهّل pkill إنهاء العمليات بناءً على أسمائها بشكل كبير: على سبيل المثال، لإنهاء عملية باسم firefox بدون pkill (وبدون pgrep )، كان على المستخدم كتابة الأمر، بينما مع pkill، يكفي كتابة الأمر مباشرةً .kill `ps --no-headers -C firefox -o pid`pkill firefox
  • xkill – عند استدعائه بدون أي معلمات، يتغير مؤشر الماوس من سهم إلى رمز "x"، ويمكن للمستخدم النقر على نافذة لإجبار خادم X على إغلاق الاتصال مع العميل الذي يملك النافذة. غالبًا ما يؤدي هذا إلى إنهاء العملية عند اكتشافها إغلاق اتصالها بخادم X. يعمل هذا فقط على الأنظمة التي تعمل بنظام X11 ؛ على سبيل المثال، لا يعمل مع مُركِّب Wayland .

نظام التشغيل مايكرووير OS-9

killيتوفر هذا الأمر أيضًا كأمر مدمج في واجهة سطر الأوامر لنظام التشغيل OS-9 . ويُستخدم لإنهاء عملية أخرى باستخدام معرّف العملية. [ 4 ]

أوقف العملية التي تحمل معرّف العملية "7":

اقتل 7 دولارات 

مايكروسوفت ويندوز ورياكت أو إس

الأمر taskkillفي نظام التشغيل مايكروسوفت ويندوز

في مترجم سطر الأوامر الخاص بشركة مايكروسوفت، ويندوز باور شيل ، killهو اسم مستعار للأمر cmdlet Stop-Processتم تعريفه مسبقًا .

تتضمن أنظمة التشغيل مايكروسوفت ويندوز إكس بي ، وفيستا ، و 7 الأمر taskkill[ 5 ] لإنهاء العمليات. الصيغة المعتادة لهذا الأمر هي . وقد تم تضمين taskkill /im "IMAGENAME"نسخة "غير مدعومة" من هذا الأمر في العديد من إصدارات مجموعات موارد مايكروسوفت ويندوز المتوفرة لنظام ويندوز 98. [ 6 ]kill

killتم نقل إصدارات جنو من خلال Cygwin وتعمل داخل النظام الفرعي لبيئة يونكس الذي توفره خدمات مايكروسوفت ويندوز ليونكس (استحوذت مايكروسوفت على خدمات ويندوز ليونكس بالكامل من خلال شرائها لشركة سوفت واي سيستمز ومنتجها إنتركس في 17 سبتمبر 1999). [ 7 ]

الأمر taskkillعلى نظام التشغيل ReactOS

يعتمد تطبيق ReactOS على نسخة Windows. وقد طُوّر بواسطة أندرو ريدى، وأندرو نغوين، وهي يانغ. وهو مرخص بموجب رخصة LGPLv2.1 أو أحدث . [ 8 ]

أمثلة

ابحث عن جميع العمليات التي تبدأ بالحرف "p" والتي طورتها شركة مايكروسوفت وتستخدم أكثر من 10 ميجابايت من الذاكرة، ثم قم بإنهاء هذه العمليات:

PS C:\> ps p * | where { $_ . Company -like "Microsoft*" -and $_ . WorkingSet -gt 10MB } | kill -confirmتأكيد: هل أنت متأكد من رغبتك في تنفيذ هذا الإجراء؟ جارٍ تنفيذ عملية "إيقاف العملية" على الهدف "powershell (6832)". [نعم] نعم [موافق] نعم للكل [لا] لا [رفض] لا للكل [تعليق] تعليق [؟] مساعدة (الافتراضي هو "نعم"): A PS C:\>

إليك مثال أبسط يطلب من عملية Explorer.exe إنهاءها:

PS C:\ > taskkill / im explorer.exe

يجبر هذا المثال العملية على الإنهاء:

PS C: \ > taskkill / f / im explorer.exe

يمكن أيضًا إنهاء العمليات عن طريق رقم تعريف العملية (PID) :

PS C:\> taskkill / pid 3476

مايكروسوفت سينغولاريتي

تتضمن واجهة Singularity shell ، وهي الواجهة القياسية لنظام التشغيل Singularity ذي النواة المصغرة من Microsoft Research ، أمرًا لإنهاء العمليات التي تعمل في الخلفية.kill

أمثلة

أوقف العملية التي تحمل الاسم "SampleProcess":

Singularity>kill SampleProcess 

أوقف العملية التي تحمل مُعرّف العملية "42":

Singularity>kill 42 

الخطة 9 من مختبرات بيل

في إطار خطة 9 من مختبرات بيل ، لا يقوم برنامج القتل فعليًا بإنهاء العملية، ولا يأخذ معرّفات العمليات. بل يأخذ أسماء العمليات الفعلية ويُخرج الأوامر الخاصة بـ rc ، وهي الصدفة التي تستخدمها خطة 9، لإنهاء العملية. [ 9 ]

يُطلق على الأمر المماثل اسم slay، وهو يقوم بنفس الشيء ولكن للعمليات التي ترفض أن يتم إنهاؤها بهذه الطريقة. [ 9 ]

أمثلة

على سبيل المثال، لقتل جميع نسخ برنامج troff ، يكتب المرء ما يلي:

كيل تروف | آر سي

آحرون

تم أيضًا نقل أمر الإيقاف إلى نظام التشغيل IBM i . [ 10 ]

انظر أيضاً

مراجع

  1. "دليل مرجعي لباش: وظائف التحكم المدمجة" . مشروع جنو . مؤرشف من الأصل بتاريخ 18-09-2019 . تم الاطلاع عليه بتاريخ 24-02-2015 .
  2. "zsh: 17. أوامر Shell المدمجة" . مؤرشف من الأصل بتاريخ 24-02-2015 . تم الاطلاع عليه بتاريخ 24-02-2015 .
  3. "<signal.h>" . مواصفات Open Group الأساسية، الإصدار 7. مؤرشف من الأصل بتاريخ 18 فبراير 2015. تم الاطلاع عليه بتاريخ 24 فبراير 2015 .
  4. بول س. دايان (1992). خبير نظام التشغيل OS-9 - 1 : الحقائق . شركة جالاكتيك الصناعية المحدودة. ISBN  0-9519228-0-7.
  5. "Taskkill" . مايكروسوفت تك نت . مؤرشف من الأصل بتاريخ 2018-02-03 . تم الاطلاع عليه بتاريخ 2015-02-24 .
  6. "مجموعة أدوات الموارد - مجموعة موارد ويندوز 98" . شركة ActiveXperts Software . مؤرشف من الأصل بتاريخ 25 مايو 2019. تم الاطلاع عليه بتاريخ 24 فبراير 2015 .
  7. "أدوات جنو لنظام التشغيل ويندوز 32" . مؤرشف من الأصل بتاريخ 9 فبراير 2006. تم الاطلاع عليه بتاريخ 24 فبراير 2015 .
  8. "reactos/taskkill.c at master · reactos/reactos · GitHub" . مؤرشف من الأصل بتاريخ 24-06-2024 . تم الاطلاع عليه بتاريخ 25-05-2020 .
  9. 1 2 "ترجمة أوامر يونكس إلى بلان 9" . ويكي بلان 9. مؤرشف من الأصل بتاريخ 2008-09-05 . تم الاطلاع عليه بتاريخ 2015-02-24 .
  10. آي بي إم . "برمجة Qshell لنظام IBM System i الإصدار 7.2" (ملف PDF) . آي بي إم . مؤرشف (ملف PDF) من الأصل بتاريخ 18 سبتمبر 2020. تم الاطلاع عليه بتاريخ 5 سبتمبر 2020 .

للمزيد من القراءة

  • ماكيلهيرن، كيرك (2006). سطر أوامر نظام التشغيل ماك أو إس إكس: يونكس من الداخل . جون وايلي وأولاده . ISBN 978-0470113851.