एंड्रॉयड

कैसे लिनक्स में एक प्रक्रिया को मारने के लिए

Linux Tutorial for Beginners: Introduction to Linux Operating System

Linux Tutorial for Beginners: Introduction to Linux Operating System

विषयसूची:

Anonim

क्या आपने कभी उस स्थिति का सामना किया है जहां आपने एक एप्लिकेशन लॉन्च किया था, और अचानक जब आप एप्लिकेशन का उपयोग कर रहे हैं, तो यह अनुत्तरदायी और अप्रत्याशित रूप से क्रैश हो जाता है? आप एप्लिकेशन को फिर से शुरू करने की कोशिश करते हैं, लेकिन कुछ भी नहीं होता है क्योंकि मूल आवेदन प्रक्रिया कभी भी पूरी तरह से बंद नहीं होती है।

खैर, यह हम सभी के साथ हुआ है, है ना? समाधान आवेदन प्रक्रिया को समाप्त या मारना है। पर कैसे?

सौभाग्य से, लिनक्स में कई उपयोगिताओं हैं जो आपको गलत प्रक्रियाओं को मारने की अनुमति देती हैं।, हम आपको दिखाएंगे कि लिनक्स में एक प्रक्रिया को समाप्त करने के लिए kill , pkill और pkill कमांड का उपयोग कैसे करें।

इन उपकरणों के बीच मुख्य अंतर यह है कि kill प्रक्रिया आईडी नंबर (पीआईडी) के आधार पर प्रक्रियाओं kill समाप्त करता है, जबकि pkill और pkill कमांड अपने नामों और अन्य विशेषताओं के आधार पर चल रही प्रक्रियाओं को समाप्त करते हैं।

नियमित उपयोगकर्ता अपनी प्रक्रियाओं को मार सकते हैं, लेकिन उन नहीं जो अन्य उपयोगकर्ताओं के हैं, जबकि रूट उपयोगकर्ता सभी प्रक्रियाओं को मार सकता है।

सिस्टम किल सिग्नल

kill , kill , और pkill निर्दिष्ट प्रक्रियाओं या प्रक्रिया समूहों को दिए गए संकेत भेजें। जब कोई संकेत निर्दिष्ट नहीं किया जाता है, तो प्रत्येक उपकरण 15 ( TERM ) भेजता है।

सबसे अधिक इस्तेमाल होने वाले सिग्नल हैं:

  • 1 (-HUP): एक प्रक्रिया को पुनः लोड करने के लिए। 9 (-की): एक प्रक्रिया को मारने के लिए। 15 (-TERM): किसी प्रक्रिया को इनायत करने के लिए।

संकेत तीन अलग-अलग तरीकों से निर्दिष्ट किए जा सकते हैं:

  • "SIG" उपसर्ग (जैसे, -HUP) के बिना "SIG" उपसर्ग (जैसे, -SIGHUP) के साथ संख्या (जैसे, -1) का उपयोग करना।

सभी उपलब्ध संकेतों को सूचीबद्ध करने के लिए -l विकल्प का उपयोग करें:

kill -l # or killall -l

नीचे दिए गए चरण सभी लिनक्स वितरण पर काम करेंगे।

kill कमान का उपयोग कर प्रक्रियाओं को समाप्त करना

kill कमांड के साथ एक प्रक्रिया को समाप्त करने के लिए, पहले आपको पीआईडी ​​प्रक्रिया को खोजने की आवश्यकता है। आप top , ps , pidof और pgrep जैसे विभिन्न कमांड का उपयोग करके ऐसा कर सकते हैं।

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

pidof firefox

आदेश सभी फ़ायरफ़ॉक्स प्रक्रियाओं को मुद्रित करेगा:

2551 2514 1963 1856 1771

एक बार जब आप जानते हैं कि फ़ायरफ़ॉक्स PIDs को समाप्त करने के लिए सभी को TERM सिग्नल भेजता है:

kill -9 2551 2514 1963 1856 1771

killall कमान का उपयोग कर प्रक्रियाओं को समाप्त करना

killall कमान एक निर्दिष्ट नाम से मेल खाने वाले सभी कार्यक्रमों को समाप्त कर देती है।

पहले की तरह ही परिदृश्य का उपयोग करके, आप टाइप करके फ़ायरफ़ॉक्स प्रक्रिया को मार सकते हैं:

killall -9 firefox

killall कई विकल्पों killall स्वीकार करता है जैसे किसी दिए गए उपयोगकर्ता के स्वामित्व वाली प्रक्रियाओं को संकेत भेजना, नियमित अभिव्यक्ति के खिलाफ प्रक्रियाओं के नाम और मेल खाते समय का मिलान करना। आप अपने टर्मिनल पर killall (बिना किसी तर्क के) टाइप करके सभी विकल्पों की सूची प्राप्त कर सकते हैं।

उदाहरण के लिए, उपयोगकर्ता "सारा" के रूप में चल रही सभी प्रक्रियाओं को समाप्त करने के लिए, आप निम्नलिखित कमांड चलाएंगे:

sudo killall -u sara

pkill कमांड का उपयोग कर प्रक्रिया समाप्त करना

pkill प्रक्रियाओं को समाप्त करता है जो कमांड लाइन पर दिए गए पैटर्न से मेल खाती हैं:

pkill -9 firefox

प्रक्रिया के नाम का सटीक मिलान होना आवश्यक नहीं है।

pkill साथ आप उन प्रक्रियाओं को भी संकेत भेज सकते हैं जो किसी दिए गए उपयोगकर्ता के स्वामित्व में हैं। उपयोगकर्ता "सारा" के स्वामित्व वाली केवल फ़ायरफ़ॉक्स प्रक्रियाओं को मारने के लिए, आप टाइप करेंगे:

pkill -9 -u sara firefox

निष्कर्ष

kill , kill और pkill कमांड का उपयोग करके गैर-जिम्मेदार कार्यक्रमों को समाप्त करना एक आसान काम है। आपको केवल प्रक्रिया का नाम या पीआईडी ​​जानना होगा।

टर्मिनल को मार डालो