killall -9 node
पैट्रिक द्वारा उल्लिखित उक्त , अपेक्षित रूप से काम करता है और समस्या को हल करता है, लेकिन आप इस उत्तर के संपादन भाग को पढ़ना चाह सकते हैं क्योंkill -9
का सबसे अच्छा तरीका नहीं हो सकता है।
इसके शीर्ष पर आप आँख बंद करके सभी को मारने के बजाय एक ही प्रक्रिया को लक्षित करना चाह सकते हैं सक्रिय प्रक्रियाओं को ।
उस स्थिति में, पहले उस पोर्ट पर चलने वाली प्रक्रिया का आईडी (पीआईडी) प्राप्त करें (8888 कहें):
lsof -i tcp:8888
यह कुछ इस तरह लौटेगा:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 57385 You 11u IPv6 0xac745b2749fd2be3 0t0 TCP *:ddi-tcp-1 (LISTEN)
तो बस करो (पी एस - वास्तव में नहीं है । कृपया नीचे पढ़ते रहें):
kill -9 57385
आप यहां इसके बारे में थोड़ा और पढ़ सकते हैं ।
संपादित करें: मैं आज एक काफी संबंधित विषय पर पढ़ रहा था और इस दिलचस्प सूत्र पर ठोकर खाई कि मुझे kill -9
एक प्रक्रिया क्यों नहीं करनी चाहिए ।
आम तौर पर, आपको टारगेट प्रक्रिया को खुद के बाद साफ करने का मौका देने के लिए किल -9 से पहले किल -15 का उपयोग करना चाहिए । (प्रक्रिया SIGKILL को पकड़ या अनदेखा नहीं कर सकती है, लेकिन वे अक्सर SIGTERM को पकड़ सकते हैं।) यदि आप प्रक्रिया को खत्म करने का मौका नहीं देते हैं तो यह क्या कर रहा है और इसे साफ कर सकता है, यह दूषित फ़ाइलों (या अन्य राज्य) को छोड़ सकता है एक बार पुनः आरंभ करने पर यह समझ में नहीं आएगा।
इसलिए, जैसा कि कहा गया है कि आपको उपरोक्त प्रक्रिया को बेहतर ढंग से मारना चाहिए:
kill -15 57385
EDIT 2 : जैसा कि यहां एक टिप्पणी में कई बार कहा गया है कि यह त्रुटि किसी प्रक्रिया को इनायत से बाहर न करने का परिणाम है। इसका मतलब है, बहुत से लोग CTRL + Z का उपयोग करके एक नोड कमांड (या किसी अन्य) से बाहर निकलते हैं । किसी रनिंग प्रक्रिया को रोकने का सही तरीका CTRL + C जारी कर रहा है कमांड जो एक स्वच्छ निकास करता है।
एक प्रक्रिया से बाहर निकलने पर सही तरीके से उस बंदरगाह को बंद कर दिया जाएगा। यह आपको इसे फिर से चलाने में सक्षम होने से पहले खुद को मारने की परेशानी से गुजरने के बिना प्रक्रिया को फिर से शुरू करने की अनुमति देगा।