किल के साथ प्रक्रियाओं को सिग्नल भेजना
RSI हत्या कमांड का उपयोग प्रोग्रामों को सिग्नल भेजने के लिए किया जाता है। इसका सबसे सामान्य सिंटैक्स इस प्रकार दिखता है:
मारना [-संकेत] पीआईडी...
मारना [-संकेत] पीआईडी...
यदि कमांड लाइन पर कोई सिग्नल निर्दिष्ट नहीं है, तो कार्यकाल (समाप्त) सिग्नल डिफ़ॉल्ट रूप से भेजा जाता है। हत्या कमांड का उपयोग अक्सर निम्नलिखित सिग्नल भेजने के लिए किया जाता है:
तालिका 10-4: सामान्य संकेत
नंबर | नाम | अर्थ |
1 | HUP | लटकाओ। यह उन अच्छे पुराने दिनों का अवशेष है जब टर्मिनलों को रिमोट से जोड़ा जाता था |
फ़ोन लाइन और मॉडेम वाले कंप्यूटर। सिग्नल का उपयोग प्रोग्रामों को यह इंगित करने के लिए किया जाता है कि नियंत्रण टर्मिनल "हैंग हो गया है।" इस सिग्नल का प्रभाव टर्मिनल सत्र को बंद करके प्रदर्शित किया जा सकता है। टर्मिनल पर चल रहे अग्रभूमि कार्यक्रम को सिग्नल भेजा जाएगा और समाप्त हो जाएगा। | ||
इस सिग्नल का उपयोग कई डेमॉन प्रोग्रामों द्वारा पुनर्प्रारंभीकरण के लिए भी किया जाता है। इसका मतलब यह है कि जब किसी डेमॉन को यह सिग्नल भेजा जाता है, तो वह अपनी कॉन्फ़िगरेशन फ़ाइल को पुनरारंभ करेगा और फिर से पढ़ेगा। अपाचे वेब सर्वर एक डेमॉन का एक उदाहरण है जो इसका उपयोग करता है HUP इस प्रकार संकेत करें. | ||
2 | INT | रुकावट डालना। के समान ही कार्य करता है Ctrl-सी टर्मिनल से कुंजी भेजी गई. यह आमतौर पर एक प्रोग्राम को समाप्त कर देगा। |
9 | मार | मारना। ये सिग्नल खास है. जबकि प्रोग्राम अलग-अलग तरीकों से उन्हें भेजे गए संकेतों को संभालने का विकल्प चुन सकते हैं, जिसमें उन सभी को एक साथ अनदेखा करना भी शामिल है मार सिग्नल वास्तव में कभी भी लक्ष्य प्रोग्राम को नहीं भेजा जाता है। बल्कि, कर्नेल तुरंत प्रक्रिया को समाप्त कर देता है। जब किसी प्रक्रिया को इस तरीके से समाप्त कर दिया जाता है, तो उसे खुद को "साफ़ करने" या अपने काम को बचाने का कोई अवसर नहीं दिया जाता है। इस कारण से, मार सिग्नल का उपयोग केवल अंतिम उपाय के रूप में किया जाना चाहिए जब अन्य समाप्ति सिग्नल विफल हो जाएं। |
15 | कार्यकाल | समाप्त करें. यह द्वारा भेजा गया डिफ़ॉल्ट सिग्नल है हत्या आज्ञा। यदि कोई प्रोग्राम अभी भी सिग्नल प्राप्त करने के लिए पर्याप्त "जीवित" है, तो वह समाप्त हो जाएगा। |
18 | CONT | जारी रखना। यह एक के बाद एक प्रक्रिया को पुनर्स्थापित करेगा बंद करो संकेत. |
19 | बंद करो | रुकना। यह संकेत किसी प्रक्रिया को समाप्त किए बिना रुकने का कारण बनता है। की तरह मार सिग्नल, इसे लक्ष्य प्रक्रिया में नहीं भेजा जाता है, और इस प्रकार इसे अनदेखा नहीं किया जा सकता है। |
आइए इसे आज़माएँ हत्या आदेश:
[मुझे@लिनक्सबॉक्स ~]$ एक्सलोगो और
[1] 13546
[मुझे@लिनक्सबॉक्स ~]$ मार-९ ६1३13546
[1]+ हैंगअप एक्सलोगो
[मुझे@लिनक्सबॉक्स ~]$ एक्सलोगो और
[1] 13546
[मुझे@लिनक्सबॉक्स ~]$ मार-९ ६1३13546
[1]+ हैंगअप एक्सलोगो
इस उदाहरण में, हम प्रारंभ करते हैं xlogo पृष्ठभूमि में प्रोग्राम करें और फिर इसे भेजें HUP के साथ संकेत हत्या। xlogo प्रोग्राम समाप्त हो जाता है और शेल इंगित करता है कि पृष्ठभूमि प्रक्रिया को हैंगअप सिग्नल प्राप्त हुआ है। संदेश प्रकट होने से पहले हमें एंटर कुंजी को कई बार दबाने की आवश्यकता हो सकती है। ध्यान दें कि सिग्नल या तो संख्या या नाम से निर्दिष्ट किए जा सकते हैं, जिसमें "SIG" अक्षर के साथ लगा नाम भी शामिल है:
[मुझे@लिनक्सबॉक्स ~]$ एक्सलोगो और
[1] 13601
[मुझे@लिनक्सबॉक्स ~]$ किल -INT 13601 [1]+ xlogo को बाधित करें [me@linuxbox ~]$ एक्सलोगो और
[1] 13608
[मुझे@लिनक्सबॉक्स ~]$ मार -SIGINT 13608
[1]+ एक्सलोगो को बाधित करें
[मुझे@लिनक्सबॉक्स ~]$ एक्सलोगो और
[1] 13601
[मुझे@लिनक्सबॉक्स ~]$ किल -INT 13601 [1]+ xlogo को बाधित करें [me@linuxbox ~]$ एक्सलोगो और
[1] 13608
[मुझे@लिनक्सबॉक्स ~]$ मार -SIGINT 13608
[1]+ एक्सलोगो को बाधित करें
उपरोक्त उदाहरण को दोहराएँ और अन्य संकेतों को आज़माएँ। याद रखें, हम पीआईडी के स्थान पर जॉब-स्पेक्स का भी उपयोग कर सकते हैं।
फ़ाइलों की तरह प्रक्रियाओं के भी स्वामी होते हैं, और इन्हें सिग्नल भेजने के लिए आपको एक प्रक्रिया (या सुपर-रूसर) का स्वामी होना चाहिए हत्या.
उपरोक्त संकेतों की सूची के अलावा, जिनका सबसे अधिक उपयोग किया जाता है हत्या, सिस्टम द्वारा अक्सर उपयोग किए जाने वाले अन्य सिग्नल भी हैं। यहां अन्य सामान्य संकेतों की सूची दी गई है:
तालिका 10-5: अन्य सामान्य संकेत
नंबर | नाम | अर्थ |
3 | छोड़ो | बाहर निकलें। |
11 | एसईजीवी | विभाजन का उल्लंघन. यह सिग्नल तब भेजा जाता है जब कोई प्रोग्राम मेमोरी का अवैध उपयोग करता है, यानी उसने ऐसी जगह लिखने की कोशिश की है जहां उसे लिखने की अनुमति नहीं थी। |
20 | टीएसटीपी | टर्मिनल स्टॉप. यह टर्मिनल द्वारा भेजा गया सिग्नल है जब सीटीआरएल-जेड कुंजी दबायी गयी है. से भिन्न बंद करो संकेत, टीएसटीपी सिग्नल प्राप्त होता है |
प्रोग्राम लेकिन प्रोग्राम इसे अनदेखा करना चुन सकता है।
28 चरखी विंडो परिवर्तन। यह द्वारा भेजा गया संकेत है
सिस्टम जब एक विंडो का आकार बदलता है। कुछ कार्यक्रम, जैसे ऊपर का और कम नए विंडो आयामों में फिट होने के लिए खुद को फिर से तैयार करके इस सिग्नल का जवाब देंगे।
जिज्ञासुओं के लिए, संकेतों की पूरी सूची निम्नलिखित आदेश के साथ देखी जा सकती है:
[me@linuxbox ~]$ किल -एल
[me@linuxbox ~]$ किल -एल