मुझे 'किल -9' / साइगिल का उपयोग क्यों नहीं करना चाहिए


14

इस सवाल को पोस्ट करना क्योंकि मुझे इसका जवाब नहीं मिलने पर आश्चर्य हुआ; माफी अगर यह एक डुप्लिकेट है - मैंने देखा!

मैंने सुना है kill -9या kill -SIGKILLबुरा है, लेकिन मुझे समझ नहीं आता कि क्यों। अगर मुझे किसी प्रक्रिया को मारने के लिए kill -9क्या नहीं करना चाहिए ?


2
प्रश्न का आधार गलत है। SIGKILL सिर्फ एक उपकरण है। यह कुछ स्थितियों में अनुशंसित है और अन्य स्थितियों में अनुशंसित नहीं है (जैसा कि अन्य सभी उपकरण हैं)।
kubanczyk

@kubanczyk यकीन है, लेकिन यह एक गलत-गलत उपकरण है, और इसका उद्देश्य समझे बिना उपयोग किया जाता है। मैं कई धागे जहां ए का कहना है देखा है " बस kill -9यह ", ओ पी कहते हैं, " महान, कि काम किया! मुझे लगता है कि अब से याद करेंगे! ", और बी चेतावनी देने के लिए में आता है " प्रतीक्षा kill -9खतरनाक है! केवल इस तथ्य के बाद"।
dimo414

जवाबों:


15

SIGKILLअपने चलने की प्रक्रिया से गलीचा को बाहर निकालता है, इसे तुरंत समाप्त करता है। बहुत ही सरल कार्यक्रमों के लिए यह ठीक है; हालांकि, बहुत कम "सरल" कार्यक्रम हैं।

कवर के तहत भी तुच्छ-प्रतीत होने वाले प्रोग्राम सभी प्रकार के ट्रांजेक्शनल काम करते हैं, जिन्हें समाप्त करने से पहले उन्हें साफ करने की आवश्यकता होती है ( finallyजावा और अन्य प्रोग्रामिंग भाषाओं में ब्लॉक के बारे में सोचें ), जैसे कि संसाधन हैंडल बंद करना, अस्थायी फ़ाइलों को हटाना, और फ्लश डेटा से। डिस्क पर मेमोरी। जब कोई प्रोग्राम ऐसा कुछ कर रहा हो तो आप अनुमान नहीं लगा सकते।

यदि आप भाग्यशाली हैं SIGKILL, तो आप कुछ भी नोटिस नहीं करेंगे यदि आप भेजते हैं , लेकिन आप हमेशा के लिए भाग्यशाली नहीं हो सकते हैं, और आप कुछ भी गलत नहीं जान सकते हैं, जब तक कि खो गया है ठीक होने के लिए बहुत देर नहीं हुई है।

आपको लगभग कभी भी भेजने की आवश्यकता नहीं होनी चाहिए SIGKILL, और आपको यह सुनिश्चित करना चाहिए कि ऐसा करने से पहले आपने अपने विकल्पों को समाप्त कर दिया है। कई मामलों में रिबूटिंग (जो अंततः SIGKILLदुर्व्यवहार करने वाले कार्यक्रमों को भेजेगा ) स्वयं को भेजने की तुलना में सुरक्षित है SIGKILL। मैं शायद एक बार गिनती कर सकता हूं कि मुझे कितनी बार भेजने की जरूरत है SIGKILL(और मेरे खुद के बनाने की संभावना है)।

आम तौर पर बोलना आप Ctrl+ C(जो अग्रभूमि प्रक्रिया भेजता है SIGINT) का उपयोग कर सकते हैं ( या SIGTERM"समाप्त" के रूप में) एक प्रक्रिया को निर्देश देने के लिए कि वह क्या कर रहा है और बाहर निकलें।

कुछ और पढ़ने:

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.