OnWorks Linux و Windows Online WorkStations

الشعار

استضافة مجانية على الإنترنت لمحطات العمل

<السابق | المحتويات | التالي>

إرسال الإشارات إلى العمليات مع القتل

قتل يتم استخدام الأمر لإرسال إشارات إلى البرامج. يبدو بناء الجملة الأكثر شيوعًا كما يلي:



قتل [-بسيطة] PID ...

قتل [-بسيطة] PID ...


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


الجدول 10-4: الإشارات المشتركة


رقم الهاتف

الاسم

معنى

1

HUP

يشنق. هذا هو بقايا الأيام الخوالي عندما كانت المحطات متصلة بجهاز التحكم عن بعد


أجهزة الكمبيوتر مع خطوط الهاتف والمودم. تُستخدم الإشارة للإشارة إلى البرامج بأن طرف التحكم قد "توقف". يمكن إظهار تأثير هذه الإشارة من خلال إغلاق جلسة المحطة. سيرسل البرنامج الأمامي الذي يعمل على الجهاز الطرفي الإشارة وينتهي.

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

2

INT

يقطع. يؤدي نفس وظيفة ملف السيطرة- ج مفتاح أرسل من المحطة. وعادة ما يتم إنهاء البرنامج.

9

KILL

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

15

مصطلح

إنهاء. هذه هي الإشارة الافتراضية التي يرسلها قتل أمر. إذا كان البرنامج لا يزال "حيًا" بدرجة كافية لاستقبال الإشارات ، فسينتهي البرنامج.

18

المقاولات

يكمل. سيؤدي هذا إلى استعادة العملية بعد ملف إيقاف

إشارة.

19

إيقاف

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


دعنا نجرب قتل أمر:


[me @ linuxbox ~] $ xlogo &

[1] 13546

[me @ linuxbox ~] $ قتل - 1 13546

[1] + Hangup xlogo

[me @ linuxbox ~] $ xlogo &

[1] 13546

[me @ linuxbox ~] $ قتل - 1 13546

[1] + Hangup xlogo


في هذا المثال ، نبدأ ملف xlogo البرنامج في الخلفية ثم أرسله أ HUP إشارة مع قتل. xlogo ينتهي البرنامج ويشير الغلاف إلى أن العملية الخلفية قد تلقت إشارة إنهاء المكالمة. قد نحتاج إلى الضغط على مفتاح الإدخال عدة مرات قبل ظهور الرسالة. لاحظ أنه يمكن تحديد الإشارات إما بالرقم أو بالاسم ، بما في ذلك الاسم المسبق بالأحرف "SIG":



[me @ linuxbox ~] $ xlogo &

[1] 13601

[me @ linuxbox ~] $ قتل -INT 13601 [1] + مقاطعة xlogo [me @ linuxbox ~] $ xlogo &

[1] 13608

[me @ linuxbox ~] $ اقتل- SIGINT 13608

[1] + مقاطعة xlogo

[me @ linuxbox ~] $ xlogo &

[1] 13601

[me @ linuxbox ~] $ قتل -INT 13601 [1] + مقاطعة xlogo [me @ linuxbox ~] $ xlogo &

[1] 13608

[me @ linuxbox ~] $ اقتل- SIGINT 13608

[1] + مقاطعة xlogo


كرر المثال أعلاه وجرب الإشارات الأخرى. تذكر ، يمكننا أيضًا استخدام مواصفات الوظائف بدلاً من PIDs.

العمليات ، مثل الملفات ، لها مالكون ، ويجب أن تكون مالكًا لعملية (أو supe - ruser) لإرسال إشارات لها مع قتل.

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


الجدول 10-5: إشارات مشتركة أخرى


رقم الهاتف

الاسم

معنى

3

تقلع

الإقلاع عن التدخين.

11

SEGV

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

20

تيستب

توقف المحطة الطرفية. هذه هي الإشارة التي ترسلها المحطة عندما يكون الملف السيطرة- ض يتم الضغط على المفتاح. على عكس إيقاف إشارة تيستب تم استلام إشارة بواسطة


صورة

البرنامج ولكن البرنامج قد يختار تجاهله.


صورة

28 ونش نافذة التغيير. هذه هي الإشارة التي يرسلها

النظام عندما يتغير حجم النافذة. بعض البرامج مثل تيشرت و أقل سوف تستجيب لهذه الإشارة عن طريق إعادة رسم نفسها لتناسب أبعاد النافذة الجديدة.


صورة


بالنسبة للفضوليين ، يمكن رؤية قائمة كاملة من الإشارات بالأمر التالي:



[me @ linuxbox ~] $ kill -l

[me @ linuxbox ~] $ kill -l


أفضل الحوسبة السحابية لنظام التشغيل في OnWorks: