विली-नीली को मारना प्रक्रिया एक सुगम चाल नहीं है: डेटा खो सकता है, खराब-डिज़ाइन किए गए ऐप खुद को सूक्ष्म तरीके से तोड़ सकते हैं जो बिना किसी पुनर्स्थापना के तय नहीं किए जा सकते हैं .. लेकिन यह पूरी तरह से यह जानने पर निर्भर करता है कि क्या है और क्या एक में सुरक्षित नहीं है स्थिति दी। और जोखिम क्या होगा। उपयोगकर्ता को कुछ पता होना चाहिए कि एक प्रक्रिया क्या है, या होनी चाहिए, क्या कर रही है और क्या अड़चनें हैं (डिस्क IOPS, rss / swap) और अनुमान लगाने में सक्षम है कि एक लंबी-चलने वाली प्रक्रिया में कितना समय लगना चाहिए (एक फ़ाइल की प्रतिलिपि कहें,) एमपी 3 रीएन्कोडिंग, ईमेल माइग्रेशन, बैकअप, [आपका पसंदीदा समय यहाँ पर]]
इसके अलावा, SIGKILL
एक पिड पर भेजना इसे मारने की कोई गारंटी नहीं है। यदि यह एक syscall में फंस गया है या पहले से ही zombied ( Z
in ps
) है, तो यह zombied हो सकता है। यह अक्सर ^ Z लंबी चलने की प्रक्रिया का मामला है और इसे bg
करने की कोशिश करने से पहले भूल जाते हैं kill -9
। एक साधारण fg
स्टड / स्टडआउट को फिर से कनेक्ट करेगा और संभवतः प्रक्रिया को अनब्लॉक करेगा, आमतौर पर उसके बाद प्रक्रिया समाप्त हो जाएगी। यदि यह कहीं और अटक गया है या कर्नेल गतिरोध के किसी अन्य रूप में, केवल एक रिबूट प्रक्रिया को हटाने में सक्षम हो सकता है। (ज़ोंबी प्रक्रियाएं SIGKILL
कर्नेल द्वारा संसाधित होने के बाद पहले से ही मृत हो चुकी हैं (आगे कोई यूजरलैंड कोड नहीं चलेगा), आमतौर पर एक कर्नेल कारण होता है (इस प्रक्रिया को समाप्त करने के लिए सिसकॉल पर "अवरुद्ध" प्रतीक्षा के समान)।
इसके अलावा, यदि आप एक प्रक्रिया और उसके सभी बच्चों को मारना चाहते हैं, तो केवल पीआईडी ही नहीं, बल्कि नकारात्मक पीआईडी केkill
साथ कॉल करने की आदत डालें । इसकी सफाई के बाद , या अन्य संकेतों की कोई गारंटी नहीं है, और सफाई के लिए विवादास्पद प्रक्रियाओं का एक समूह है (याद रखें?) कष्टप्रद है।SIGHUP
SIGPIPE
SIGINT
बोनस बुराई: kill -9 -1
की तुलना में थोड़ा अधिक हानिकारक है kill -9 1
(जब तक आप फेंक-दूर, गैर-महत्वपूर्ण वीएम पर क्या होता है देखना चाहते हैं, तब तक जड़ के रूप में न करें।