मुझे -9 प्रक्रिया को कब नहीं मारना चाहिए?


401

मुझे दौड़ने में हमेशा बहुत संकोच होता है kill -9, लेकिन मुझे लगता है कि अन्य व्यवस्थापक इसे लगभग नियमित करते हैं।

मुझे लगता है कि शायद एक समझदार मध्य मैदान है, इसलिए:

  1. कब और क्यों kill -9इस्तेमाल किया जाना चाहिए? कब और क्यों नहीं?
  2. इसे करने से पहले क्या प्रयास करना चाहिए?
  3. एक "त्रिशंकु" प्रक्रिया में किस तरह की डिबगिंग आगे समस्या पैदा कर सकती है?

जवाबों:


362

आम तौर पर, आपको लक्ष्य प्रक्रिया को स्वयं के बाद साफ करने का मौका देने के लिए ( ) से पहले ( ज्यादातर सिस्टम पर या ) के killलिए (कम) का उपयोग करना चाहिए । (प्रक्रियाएं पकड़ या अनदेखा नहीं कर सकती हैं , लेकिन वे अक्सर पकड़ सकते हैं और कर सकते हैं ।) यदि आप इस प्रक्रिया को खत्म करने का मौका नहीं देते हैं तो यह क्या कर रहा है और इसे साफ कर सकता है, यह भ्रष्ट फाइलों (या अन्य राज्य) को उसके आसपास छोड़ सकता है। पुनः आरंभ करने के बाद समझ में नहीं आएगा।kill -s TERMkill -15kill -9kill -s KILLSIGKILLSIGTERM

strace/ truss, ltraceऔर gdbआम तौर पर यह देखने के लिए अच्छे विचार हैं कि एक अटक प्रक्रिया क्यों अटकी हुई है। ( truss -uसोलारिस पर विशेष रूप से उपयोगी है; मुझे लगता ltraceहै कि अक्सर पुस्तकालय के पुलों को एक अनुपयोगी प्रारूप में प्रस्तुत किया जाता है।) सोलारिस में उपयोगी-उपयोगी /procउपकरण भी हैं, जिनमें से कुछ को लिनक्स में पोर्ट किया गया है। ( pstackअक्सर मददगार होता है)।


67
सम्मोहक कारण यह है कि यदि आप SIGKILL भेजने की आदत में पड़ जाते हैं, तो जब आप किसी प्रोग्राम में जाते हैं, जो उदाहरण के लिए, आपके या आपकी कंपनी के लिए एक महत्वपूर्ण डेटाबेस को दूषित करता है, तो आपको वास्तव में पछतावा होगा। kill -9एक अंतिम उपाय के रूप में इसका उपयोग, अंतिम उपाय पर जोर; अंतिम-रिज़ॉर्ट से पहले इसका उपयोग करने वाले ए) व्यवस्थापक को बहुत अच्छी तरह से समझ में नहीं आते हैं, और बी) एक उत्पादन प्रणाली पर नहीं होना चाहिए।
मार्स

9
@ मिकेल इसके माध्यम से एक और बात है, कभी-कभी किसी ऐप को SIGQUIT या SIGSEGV जैसे सिग्नल के साथ सफाई करने के लिए ट्रिक करना सबसे अच्छा होता है अगर यह SIGINT / SIGTERM का जवाब नहीं देगा। उदाहरण के लिए, एक पूर्ण स्क्रीन 3-डी ऐप या यहां तक ​​कि Xorg। SIGQUIT का उपयोग करने पर, इसे किसी भी चीज़ को साफ करने का मौका नहीं मिलेगा, लेकिन इसे एक खंड दोष के रूप में सोचकर धोखा देना होगा और यह महसूस करेगा कि इसे साफ करने और बाहर निकलने के अलावा कोई विकल्प नहीं है।
पेंग्विन 359

12
@Arcege क्या आपको लगता है कि एक डेटाबेस का उपयोग करना जो डेटा को दूषित करता है अगर -9 के साथ मारा जाता है, तो क्या डेटाबेस का उपयोग करने के लायक है? iirc, mysql, bdb, pg, आदि ... -9 के साथ मारे जाने पर सभी अच्छा व्यवहार करते हैं।
druvbird


23
@dhruvbird: सिर्फ इसलिए कि आपके DBs को बुलेट-प्रूफ निहित से लैस माना जाता है, इसका मतलब यह नहीं है कि अगर आपको ज़रूरत नहीं है तो आपको उन्हें शूट करना चाहिए। हालांकि आप सही हो सकते हैं कि यह उतना जोखिम भरा नहीं है जितना कि एर्सगे कहते हैं, मुझे लगता है कि उनकी बात अभी भी खड़ी है कि यह जोखिम भरा है और अंतिम उपाय होना चाहिए।
आइकनोकॉस्ट

228

रैंडल श्वार्ट्ज अक्सर सूचियों पर "(x)" का उपयोग नहीं करते थे। ऐसा ही एक पोस्ट था kill -9। इसमें कारण और पालन करने का एक नुस्खा शामिल है। यहाँ एक पुनर्निर्मित संस्करण (नीचे उद्धृत) है।

(भाव उन्मूलन)

नहीं नहीं नहीं। किल -9 का उपयोग न करें।

यह प्रक्रिया को सफाई का मौका नहीं देता है:

1) सॉकेट कनेक्शन बंद करें

2) अस्थायी फ़ाइलों को साफ करें

3) अपने बच्चों को सूचित करें कि वह दूर जा रहा है

4) अपनी टर्मिनल विशेषताओं को रीसेट करें

और इतने पर और इतने पर और इतने पर।

आम तौर पर, 15 भेजें, और एक या दो सेकंड प्रतीक्षा करें, और यदि वह काम नहीं करता है, तो 2 भेजें, और यदि वह काम नहीं करता है, तो भेजें। 1. यदि ऐसा नहीं है, तो प्रोग्राम को बुरी तरह से बर्खास्त न करें!

किल -9 का उपयोग न करें। बस फूलों के बर्तन को साफ करने के लिए कंबाइन हारवेस्टर बाहर न लाएं।

बस यूज़नेट का एक और बेकार उपयोग,

(.Signature)


12
जब प्रक्रिया समाप्त हो जाती है तो ऑपरेटिंग सिस्टम किसी भी ओपन फाइल डिस्क्रिप्टर (सॉकेट सहित) को बंद नहीं करेगा?
ब्रायन गॉर्डन

3
हाँ यह होगा। लेकिन मान लीजिए कि आप जुड़े हुए क्लाइंट्स के साथ सर्वर प्रोसेस को मार रहे हैं, तो क्लाइंट्स यह नोटिस नहीं करेंगे कि सर्वर टाइमआउट से पहले चला गया है।
ब्योर्न लिंडक्विस्ट

45
आह हाँ पुराना "अगर यह किसी भी तरह से अपूर्ण है तो आप इसे उपयोग करने के लिए बेवकूफ हैं" तर्क।
टिम्मम्म

3
या बेवकूफ का उपयोग करने के लिए अगर प्रश्न में प्रक्रिया आपकी कंपनी का उत्पादन है
वॉरेन पी

3
यदि एक प्रक्रिया को मार दिया जाता है, तो सॉकेट आरएसटी को सहकर्मी को भेज देगा, जहां अगर प्रक्रिया सॉकेट पर बंद या बंद होती है, तो सॉकेट फिन भेजता है। कोई टाइमआउट की जरूरत है। एक टाइमआउट की स्थिति केवल तभी होगी जब बिजली गिरा दी जाए या नेटवर्क केबल को हटा दिया जाए।
ctrl-alt-delor

78

हमेशा ऐसा करना ठीक होना चाहिए kill -9, जैसे बिजली केबल को खींचकर हमेशा बंद करना ठीक होना चाहिए। यह असामाजिक हो सकता है, और करने के लिए कुछ वसूली छोड़ सकता है, लेकिन यह काम करना चाहिए, और अधीर के लिए एक शक्ति उपकरण है।

मैं इसे एक व्यक्ति के रूप में कहता हूं जो पहले सादे हत्या (15) की कोशिश करेगा, क्योंकि यह एक कार्यक्रम को कुछ सफाई करने का मौका देता है - शायद सिर्फ एक लॉग को लिख रहा है "सिग 15 पर बाहर निकलना"। लेकिन मैं एक हत्या -9 पर बुरे व्यवहार के बारे में किसी भी शिकायत को स्वीकार नहीं करूंगा।

कारण: बहुत सारे ग्राहक इसे उन चीजों के लिए करते हैं जो प्रोग्रामर पसंद करेंगे तो नहीं। रैंडम किल -9 टेस्टिंग एक अच्छा और उचित परीक्षण परिदृश्य है, और यदि आपका सिस्टम इसे हैंडल नहीं करता है, तो आपका सिस्टम टूट गया है।


2
आप "यादृच्छिक मार -9" के लिए परीक्षण कैसे करते हैं? जब आप मारते हैं -9, आप कर रहे हैं और समाप्त हो गया।
कारेल बिलेक

18
@ कैरेल: आप परीक्षण करते हैं कि क्या आपका सिस्टम बाद में ठीक हो सकता है, और किसी भी आम लेनदेन को साफ कर सकता है जो SIGKILL के समय संसाधित किए जा रहे थे।
तदेउस्ज़ ए। कदलोबोस्की

7
यह ठीक नहीं है ठीक kill -9उसी तरह जैसे प्लग को खींचना ठीक नहीं है। जबकि निश्चित रूप से ऐसी परिस्थितियां हैं जहां आपके पास कोई विकल्प नहीं है, यह एक अंतिम उपाय कार्रवाई होनी चाहिए। बेशक, पावर केबल को खींचना या kill -9उन पर प्रतिकूल प्रभाव नहीं होना चाहिए जैसे कि एप्लिकेशन को रोकना या ओएस को ठीक से पुनरारंभ करने के लिए यदि बिल्कुल भी हो, लेकिन ऐसा होता है और अनुशंसित तरीकों ( kill [-15]) या नियमित शटडाउन का उपयोग करने से गड़बड़ होने से बचने में मदद मिलेगी। आप नियमित रूप से इस तरह से कार्यक्रमों और OSes को बाधित करते हैं। किसी भी मामले में, कोड की मजबूती की परवाह किए बिना डेटा खोने का जोखिम हमेशा होता है।
जलीगरे २

7
मुझे संदेह है कि माइकल का 'ओके' से क्या तात्पर्य है कि आपका कार्यक्रम इस स्थिति से इनायत से निपटना चाहिए, और फिर से शुरू करने के लिए कुछ प्रकार के सफाई करने में सक्षम होना चाहिए। उदाहरण के लिए, पीआईडी ​​फाइलों को साफ करना और इसके बजाय, अपने खिलौनों को प्रैम से बाहर फेंकना और शुरू करने से इनकार करना।
22

2
@gerryk उन्हें वास्तव में होना चाहिए लेकिन मुद्दा यह है कि कुछ लोग उस जवाब को "हत्या -9 के लिए लाइसेंस" के रूप में लेंगे जो भी स्थिति और वातावरण है। यह एक गैरजिम्मेदाराना रवैया है।
jlliagre

39

मैं किल -9 का उपयोग उसी तरह से करता हूं जैसे कि मैं डिशवॉशर में रसोई के उपकरण को फेंक देता हूं: यदि डिशवॉशर द्वारा रसोई के कार्यान्वयन को बर्बाद कर दिया जाता है, तो मुझे यह नहीं चाहिए।

वही अधिकांश कार्यक्रमों (यहां तक ​​कि डेटाबेस) के लिए चला जाता है : अगर मैं उन्हें बिना चीज़ों के मार नहीं सकता, तो मैं वास्तव में उनका उपयोग नहीं करना चाहता। (और यदि आप इन गैर-डेटाबेसों में से एक का उपयोग करने के लिए होते हैं जो आपको दिखावा करने के लिए प्रोत्साहित करता है, तो उन्होंने डेटा को बनाए रखा है जब वे नहीं हैं: ठीक है, मुझे लगता है कि यह वह समय है जब आप सोच रहे हैं कि आप क्या कर रहे हैं।

क्योंकि वास्तविक दुनिया में सामान किसी भी समय किसी भी कारण से नीचे जा सकता है।

लोगों को ऐसे सॉफ्टवेयर लिखने चाहिए जो क्रैश के प्रति सहनशील हों। विशेष रूप से सर्वर पर। आपको यह सीखना चाहिए कि सॉफ़्टवेयर डिज़ाइन कैसे करें जो मानता है कि चीजें टूटेंगी, दुर्घटनाग्रस्त होंगी आदि।

डेस्कटॉप सॉफ्टवेयर के लिए भी यही होता है। जब मैं अपना ब्राउज़र बंद करना चाहता हूं तो आमतौर पर AGES को बंद करना पड़ता है। नहीं है कुछ भी नहीं है अपने ब्राउज़र की जरूरत है ऐसा करने के लिए है कि कुछ सेकंड के कम से सबसे एक जोड़ी से अधिक नहीं लेना चाहिए। जब मैं इसे बंद करने के लिए कहता हूं तो उसे तुरंत ऐसा करने का प्रबंधन करना चाहिए। जब यह ठीक नहीं होता है, तो हम किल -9 को बाहर निकालते हैं और बनाते हैं।


4
मैं सहमत हूं कि इस तरह की विफलता के लिए एक प्रक्रिया को सहनशील होना चाहिए, लेकिन मुझे लगता है कि ऐसा करना अभी भी बुरा है। एक डेटाबेस ठीक हो जाएगा, लेकिन यह असभ्य गर्भपात का पता लगा सकता है और फिर से चालू होने पर महत्वपूर्ण पुनर्प्राप्ति जांच को ट्रिगर कर सकता है। और उन अनुरोधों के बारे में जो एक प्रक्रिया सेवारत हैं? वे सभी तुरंत अलग हो जाएंगे, ग्राहकों को कीड़े हो सकते हैं और असफल भी हो सकते हैं?
डैनियल जेम्स ब्रायर्स

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

4
@ नि: शुल्क यह पूरी तरह से लिखा सॉफ्टवेयर नहीं हो सकता है, लेकिन यह सॉफ्टवेयर लोग हर समय उपयोग करते हैं। सिस्टम व्यवस्थापकों के पास हमेशा ऐसे सॉफ्टवेयर का चयन करने में सक्षम होने की विलासिता है, जो हमेशा अचानक व्यवधान से उबरने के लिए नीचे लिखा है? ज्यादा नहीं। व्यक्तिगत रूप से मैं शटडाउन स्क्रिप्ट का उपयोग करता हूं, और इसके माध्यम से प्रक्रियाएं शुरू / बंद करता हूं। यदि वे शटडाउन स्क्रिप्ट का जवाब नहीं देते हैं (जो प्रक्रिया को एक उचित संकेत देता है), मैं -9 को मारता हूं।
स्टीव साइडर

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

1
इसलिए आप लोगों को सुस्त होने के लिए प्रोत्साहित करते हैं क्योंकि चीजों को ठीक से करना मुश्किल है? अधिक से अधिक सॉफ्टवेयर परिचालन वातावरण में चलाए जाते हैं जो कि अल्पकालिक होते हैं। यदि आप ऐसा सॉफ़्टवेयर लिखते हैं जो सही तरीके से बंद नहीं होने पर उधम मचाता है, तो आप नियोक्ताओं को एक डेवलपर के रूप में नियुक्त करने के लिए कठिन समय देने वाले हैं।
बोरुद

10

अन्य सभी उत्तरों में उल्लेख नहीं किया गया है, एक ऐसा मामला है kill -9, जो तब काम नहीं करता है, जब कोई प्रक्रिया होती है <defunct>और उसे नहीं मारा जा सकता है:

मैं किस प्रकार <a defunct> प्रक्रिया को मार सकता हूं जिसका माता-पिता init है?

एक प्रक्रिया के लिए क्या अयोग्य है और यह क्यों नहीं मारा जाता है?

तो इससे पहले कि आप उसके माता-पिता क्या हैं, यह देखने के लिए kill -9एक <defunct>प्रक्रिया चलाने ps -efका प्रयास करें और अपने माता-पिता पर -15(TERM) या -2(अंत में -9KILL) का प्रयास करें ।

ध्यान दें: क्या ps -efकरता है

बाद में संपादित करें और सावधानी बरतें: प्रक्रियाओं को मारते समय सावधानी के साथ आगे बढ़ें, उनके माता-पिता या उनके बच्चों को, क्योंकि वे खोली हुई फ़ाइलों को छोड़ सकते हैं या दूषित कर सकते हैं, अधूरे कनेक्शन, भ्रष्ट डेटाबेस इत्यादि को छोड़ सकते हैं, जब तक आप यह नहीं जानते कि kill -9किसी प्रक्रिया के लिए क्या होता है, इसे केवल एक अंतिम उपाय के रूप में उपयोग करें , और यदि आपको मारने से पहले उपयोग किए गए संकेतों को चलाने से पहले चलाने की आवश्यकता है-9 (KILL)


6

कभी नहीं एक kill -9 1। माउंट 'जैसी कुछ प्रक्रियाओं पर मार करने से भी बचें। जब मुझे कई प्रक्रियाओं को मारना होता है (उदाहरण के लिए एक एक्स सत्र लटका हुआ हो जाता है और मुझे एक निश्चित उपयोगकर्ता की सभी प्रक्रियाओं को मारना पड़ता है), मैं प्रक्रियाओं के क्रम को उलट देता हूं। उदाहरण के लिए:

ps -ef|remove all processes not matching a certain criteria| awk '{print $2}'|ruby -e '$A=stdin.readlines; A.reverse.each{|a| puts "kill -9 #{a}"}'|bash

ध्यान रखें कि killएक प्रक्रिया को रोकना नहीं है और इसके संसाधनों को जारी करना है। यह सब कुछ इस प्रक्रिया के लिए एक संकेत भेज रहा है; तुम एक प्रक्रिया है कि लटका दिया है के साथ हवा सकता है।


1
चढ़ाव किसी और का था। लेकिन कौन से संसाधन जारी नहीं किए गए हैं? क्या आपका मतलब सिर्फ यह है कि प्रक्रिया अपनी सामान्य सफाई नहीं कर सकती है? फाइल लॉक्स, सेमाफोर आदि के बारे में क्या? क्या आप विस्तार से समझा सकते हैं?
मिकेल

ऐसा लगता है कि SysV की साझा की गई मेमोरी और सेमाफोर को कम से कम साफ करना होगा। archives.postgresql.org/pgsql-general/2006-10/msg01065.php
मिकेल

8
यह उत्तर भाग भ्रामक और गलत है। kill -9 1ज्यादातर यूनियनों के तहत सिर्फ नजरअंदाज किया जाता है। से बचने के लिए कोई ज़रूरत नहीं है kill -9के लिए mountहै, लेकिन यह करने का कोई मतलब या तो। मुझे नहीं पता कि आपके द्वारा "प्रक्रियाओं के क्रम को उलटने" का क्या मतलब है। kill -9एक प्रक्रिया को रोक देता है (जैसा कि, मारना) एक प्रक्रिया है, यह शिकायत करने का मौका दिए बिना, हालांकि प्रक्रिया गैर-रुकावट प्रणाली कॉल में होने पर हत्या तुरंत नहीं होगी । एक प्रक्रिया को मारना kill -9अधिकांश संसाधनों को जारी करता है, लेकिन सभी को नहीं
गाइल्स

5

विली-नीली को मारना प्रक्रिया एक सुगम चाल नहीं है: डेटा खो सकता है, खराब-डिज़ाइन किए गए ऐप खुद को सूक्ष्म तरीके से तोड़ सकते हैं जो बिना किसी पुनर्स्थापना के तय नहीं किए जा सकते हैं .. लेकिन यह पूरी तरह से यह जानने पर निर्भर करता है कि क्या है और क्या एक में सुरक्षित नहीं है स्थिति दी। और जोखिम क्या होगा। उपयोगकर्ता को कुछ पता होना चाहिए कि एक प्रक्रिया क्या है, या होनी चाहिए, क्या कर रही है और क्या अड़चनें हैं (डिस्क IOPS, rss / swap) और अनुमान लगाने में सक्षम है कि एक लंबी-चलने वाली प्रक्रिया में कितना समय लगना चाहिए (एक फ़ाइल की प्रतिलिपि कहें,) एमपी 3 रीएन्कोडिंग, ईमेल माइग्रेशन, बैकअप, [आपका पसंदीदा समय यहाँ पर]]

इसके अलावा, SIGKILLएक पिड पर भेजना इसे मारने की कोई गारंटी नहीं है। यदि यह एक syscall में फंस गया है या पहले से ही zombied ( Zin ps) है, तो यह zombied हो सकता है। यह अक्सर ^ Z लंबी चलने की प्रक्रिया का मामला है और इसे bgकरने की कोशिश करने से पहले भूल जाते हैं kill -9। एक साधारण fgस्टड / स्टडआउट को फिर से कनेक्ट करेगा और संभवतः प्रक्रिया को अनब्लॉक करेगा, आमतौर पर उसके बाद प्रक्रिया समाप्त हो जाएगी। यदि यह कहीं और अटक गया है या कर्नेल गतिरोध के किसी अन्य रूप में, केवल एक रिबूट प्रक्रिया को हटाने में सक्षम हो सकता है। (ज़ोंबी प्रक्रियाएं SIGKILLकर्नेल द्वारा संसाधित होने के बाद पहले से ही मृत हो चुकी हैं (आगे कोई यूजरलैंड कोड नहीं चलेगा), आमतौर पर एक कर्नेल कारण होता है (इस प्रक्रिया को समाप्त करने के लिए सिसकॉल पर "अवरुद्ध" प्रतीक्षा के समान)।

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

बोनस बुराई: kill -9 -1की तुलना में थोड़ा अधिक हानिकारक है kill -9 1(जब तक आप फेंक-दूर, गैर-महत्वपूर्ण वीएम पर क्या होता है देखना चाहते हैं, तब तक जड़ के रूप में न करें।


3

आप kill -9सामान्य रूप से प्रक्रिया क्यों नहीं करना चाहते हैं

के अनुसार man 7 signal:

संकेत SIGKILL और SIGSTOP को पकड़ा, अवरुद्ध या अनदेखा नहीं किया जा सकता है।

इसका अर्थ है कि इन संकेतों में से किसी एक को प्राप्त होने वाला अनुप्रयोग किसी भी शटडाउन व्यवहार को करने के लिए उन्हें "पकड़" नहीं सकता है।

kill -9किसी प्रक्रिया पर चलने से पहले आपको क्या करना चाहिए

आपको यह सुनिश्चित करना चाहिए कि इस प्रक्रिया को संकेत भेजने से पहले कि आप:

  1. सुनिश्चित करें कि प्रक्रिया व्यस्त नहीं है (यानी "काम" कर रहा है); kill -9प्रक्रिया में भेजने से अनिवार्य रूप से इस डेटा का नुकसान होगा।
  2. यदि प्रक्रिया एक गैर-प्रतिक्रियाशील डेटाबेस है तो सुनिश्चित करें कि उसने पहले अपने कैश को फ्लश कर दिया है। कुछ डेटाबेस अपने कैश के फ्लशिंग के लिए प्रक्रिया को अन्य सिग्नल भेजने का समर्थन करते हैं।

3

मैंने एक स्क्रिप्ट बनाई है जो इस समस्या को स्वचालित करने में मदद करती है।

यह मेरा पूरा जवाब पर आधारित है 2 में बहुत समान एक प्रश्न में stackoverflow

आप वहां सभी स्पष्टीकरण पढ़ सकते हैं। संक्षेप में मैं सिर्फ सिफारिश करेंगे SIGTERMऔर SIGKILL, या यहाँ तक SIGTERM, SIGINTऔर SIGKILL। हालांकि मैं पूर्ण उत्तर में अधिक विकल्प देता हूं।

कृपया, इसे गिथब रिपॉजिटरी से किलग्रेसिवली 1 तक डाउनलोड (क्लोन) करने के लिए स्वतंत्र महसूस करें

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