सिस्टम मॉनिटर में, किल प्रक्रिया और अंतिम प्रक्रिया में क्या अंतर है?


14

जब मैं सिस्टम मॉनिटर के माध्यम से एक प्रक्रिया को मारना चाहता हूं तो मुझे 2 त्वरित तरीके, किल प्रक्रिया और समाप्ति प्रक्रिया के साथ प्रस्तुत किया जाता है। इन दोनों के बीच क्या अंतर है?

जवाबों:


9

सिस्टम मॉनिटर मैनुअल के अनुसार, आपको सामान्य रूप से "एंड प्रोसेस" का उपयोग करना चाहिए, और केवल अगर यह विफल रहता है तो "किल प्रोसेस" का उपयोग करें:

आप आमतौर पर एक प्रक्रिया को केवल तभी समाप्त करते हैं जब आप प्रक्रिया को समाप्त नहीं कर सकते हैं जैसा कि एक प्रक्रिया को समाप्त करना है।

तकनीकी स्तर पर यह मुझे लगता है कि एंड प्रोसेस एक SIGQUIT को भेजता है, जो जरूरत पड़ने पर प्रक्रिया को फंसाने और सफाई करने की अनुमति देता है, लेकिन अगर वह विफल हो जाता है, तो किल प्रक्रिया को एक SIGKILL भेजना चाहिए, जो बिना किसी वसूली के मौका के हिंसक प्रक्रिया को समाप्त कर दे। किफायत से इस्तेमाल करो!


6
SIGTERM एक प्रोग्राम को बंद करने का "विनम्र" तरीका है, जिसे "End Process" भेजता है। gnu.org/software/libc/manual/html_node/Termination-Signals.html
Rick

9

मैं बहुत उत्सुक था, इसलिए मैंने स्रोत कोड के माध्यम से ब्राउज किया और आवेदन . c में नीचे पाया । इस कोड में और भी बहुत कुछ है, लेकिन मुझे लगता है कि ये विकल्प के लिए सहसंबंधी हैं, कम से कम 3.19.3 के माध्यम से सिस्टम मॉनिटर 3.8.2.1 के लिए:

  • स्टॉप प्रोसेस = SIGSTOP ( पॉज सिग्नल , चलिए आप बाद में SIGCONT जारी रखते हैं, प्रोसेस नहीं मारते हैं)
  • अंतिम प्रक्रिया = SIGTERM ( समाप्ति संकेत , सही तरीका, आवेदन इस संकेत को रोक सकता है और शटडाउन कार्यों जैसे कि टेम्प फाइल क्लीनअप को रोक सकता है)
  • मार प्रक्रिया = सिगिल ( मार संकेत , चरम, केवल उपयोग अगर SIGTERM काम नहीं करता है, शटडाउन कार्यों को घुसपैठ नहीं करेगा)

मार डालो / छोड़ो / शटडाउन संकेतों और उनके मतभेदों पर एक अच्छी व्याख्या के लिए SIGINT, SIGTERM, SIGKILL और SIGSTOP संकेतों के बारे में Quora पर यह प्रश्न देखें ।

सोर्स कोड हाइलाइट

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