इससे कोई फर्क नहीं पड़ता कि आप किस ऑपरेटिंग सिस्टम का उपयोग कर रहे हैं - आप निश्चित रूप से एक दुर्व्यवहार करने वाले एप्लिकेशन में आ जाएंगे जो खुद को बंद कर देता है और बंद करने से इंकार कर देता है। लिनक्स (और मैक) में एक " kill " कमांड है जिसे आप एप्लिकेशन को मजबूती से समाप्त करने के लिए उपयोग कर सकते हैं। इस ट्यूटोरियल में हम आपको विभिन्न तरीकों से दिखाएंगे कि आप एप्लिकेशन को समाप्त करने के लिए "मार" कमांड का उपयोग कर सकते हैं।

आदेश और सिग्नल को मार डालो

जब आप "मार" कमांड निष्पादित करते हैं, तो आप वास्तव में सिस्टम को सिग्नल भेज रहे हैं ताकि इसे गलत व्यवहार करने वाले ऐप को समाप्त किया जा सके। कुल साठ संकेत हैं जिनका आप उपयोग कर सकते हैं, लेकिन आपको वास्तव में जानने की आवश्यकता है सिगरम (15) और सिगकिल (9)।

आप आदेश के साथ सभी सिग्नल देख सकते हैं:

 मारो -एल 

  • SIGTERM - यह सिग्नल अनुरोध करता है कि एक प्रक्रिया चलना बंद हो। इस सिग्नल को नजरअंदाज किया जा सकता है। प्रक्रिया को बंद करने के लिए समय दिया जाता है। जब कोई प्रोग्राम गर्व से बंद हो जाता है, तो इसका मतलब है कि इसे अपनी प्रगति को बचाने और संसाधनों को छोड़ने के लिए समय दिया जाता है। दूसरे शब्दों में, इसे रोकने के लिए मजबूर नहीं किया जाता है।
  • सिग्कील - सिगकिल सिग्नल प्रक्रिया को तत्काल निष्पादित करने के लिए मजबूर करता है। कार्यक्रम इस सिग्नल को अनदेखा नहीं कर सकता है। असुरक्षित प्रगति खो जाएगी।

kill का उपयोग करने के लिए वाक्यविन्यास है:

 मारो [सिग्नल या विकल्प] पीआईडी 

डिफ़ॉल्ट सिग्नल (जब कोई निर्दिष्ट नहीं है) SIGTERM है। जब यह काम नहीं करता है, तो आप प्रक्रिया को मजबूती से मारने के लिए निम्न का उपयोग कर सकते हैं:

 सिग्कील पीआईडी ​​को मारो 

या

 मार -9 पीआईडी 

जहां -9 ध्वज सिग्कील सिग्नल को संदर्भित करता है।

यदि आप एप्लिकेशन के पीआईडी ​​से अवगत नहीं हैं, तो बस आदेश चलाएं:

 पीएस ux 

और यह सभी चल रहे अनुप्रयोगों को अपने पीआईडी ​​के साथ प्रदर्शित करेगा।

उदाहरण के लिए, क्रोम ऐप को मारने के लिए, आदेश चलाएं:

 मारो -9 3629 

यह भी ध्यान रखें कि आप एक ही समय में कई प्रक्रियाओं को मार सकते हैं।

 मार -9 पीआईडी ​​1 पीआईडी ​​2 पीआईडी ​​3 

pkill

pkill कमांड विस्तारित नियमित अभिव्यक्ति पैटर्न और अन्य मिलान मानदंडों के उपयोग की अनुमति देता है। पीआईडी ​​का उपयोग करने के बजाय, अब आप अपने प्रक्रिया नाम दर्ज करके एप्लिकेशन को मार सकते हैं। उदाहरण के लिए, फ़ायरफ़ॉक्स ब्राउज़र को मारने के लिए, बस आदेश चलाएं:

 पिक्सेल फ़ायरफ़ॉक्स 

चूंकि यह एक नियमित अभिव्यक्ति पैटर्न से मेल खाता है, आप प्रक्रिया का आंशिक नाम भी दर्ज कर सकते हैं, जैसे कि:

 पिक्ल आग 

गलत प्रक्रियाओं को मारने से बचने के लिए, आप मिलान प्रक्रियाओं को सूचीबद्ध करने के लिए " pgrep -l [process name] " करना pgrep -l [process name]

सबको मार दो

किलॉल पीआईडी ​​की बजाय प्रक्रिया के नाम का भी उपयोग करता है, और यह उसी नाम के साथ प्रक्रिया के सभी उदाहरणों को मारता है। उदाहरण के लिए, यदि आप फ़ायरफ़ॉक्स ब्राउज़र के कई उदाहरण चला रहे हैं, तो आप उन्हें कमांड के साथ मार सकते हैं:

 killall फ़ायरफ़ॉक्स 

xkill

एक्सकिल एक एप्लिकेशन को मारने का एक ग्राफिकल तरीका है। जब आप टर्मिनल में xkill टाइप करते हैं, तो आपका माउस कर्सर तुरंत "क्रॉस" बन जाएगा। आपको बस इतना करना है कि गलत व्यवहार करने वाले ऐप पर "क्रॉस" पर क्लिक करें, और यह तुरंत एप्लिकेशन को मार देगा। यदि आप चाहें, तो आप xkill फ़ंक्शन को सक्रिय करने के लिए कीबोर्ड शॉर्टकट भी जोड़ सकते हैं।

निष्कर्ष

जब ऐप्स दुर्व्यवहार करते हैं और सिस्टम को लटकने का कारण बनते हैं, तो कंप्यूटर को पुनरारंभ करना और सत्र को फिर से शुरू करना बहुत मोहक है। इन "हत्या" कमांड के साथ आप सिस्टम को क्रैश होने के कारण बिना दुर्व्यवहार करने वाले ऐप्स को बेहतर तरीके से प्रबंधित करने में सक्षम होंगे। यह विशेष रूप से सर्वर के लिए उपयोगी होता है जब आप पूरे सर्वर को नीचे लाने के लिए गलत व्यवहार प्रक्रिया नहीं चाहते हैं।

छवि क्रेडिट: बिल बिल (गेट्स)