दिलचस्प पोस्ट
Xcode में सबवर्सन संशोधन संख्या सम्मिलित करें एक पाठ क्षेत्र में उपयोग के लिए <br /> को एक नई पंक्ति में परिवर्तित करना फ्लोट रेंज के बीच यादृच्छिक संख्या कैसे प्राप्त करें? चयनित आइटम के लिए नेविगेशन ड्रॉवर आइटम पृष्ठभूमि का रंग कंसोल खिड़की मेरे आउटपुट को प्रदर्शित किए बिना क्यों तुरंत बंद हो रही है? PHP केस-असंवेदनशील में फ़ंक्शंस और तरीके क्यों हैं? क्या मुझे JSLint या JSHint जावास्क्रिप्ट सत्यापन का उपयोग करना चाहिए? मैं C ++ 11 समर्थन के लिए कैसे जांच करूं? JSON में डी। क्या करता है? एंड्रॉइड स्टूडियो 2.1 परिनियोजित करने के लिए कोई बदलाव नहीं है पता करें कि अक्षर स्ट्रिंग में इमोजी है? मैं iOS7 में datePicker के फ़ॉन्ट का रंग बदल सकता हूँ? इंटरफ़ेस और सार वर्ग में समान विधि किसी सिस्टम पर बूस्ट संस्करण का निर्धारण कैसे करें? एक MDF फ़ाइल क्या है?

मैं कैसे "java.net.BindException: पता पहले से उपयोग में है: JVM_Bind" त्रुटि का समाधान कैसे करूँ?

ग्रहण में, मुझे यह त्रुटि मिली:

run: [java] Error creating the server socket. [java] Oct 04, 2012 5:31:38 PM cascadas.ace.AceFactory bootstrap [java] SEVERE: Failed to create world : java.net.BindException: Address already in use: JVM_Bind [java] Java Result: -1 BUILD SUCCESSFUL Total time: 10 seconds 

मुझे यकीन नहीं है कि यह अभी क्यों आया है, लेकिन कुछ घंटों पहले ही ठीक था। क्या मुझे अपनी मशीन को पुनरारंभ करने की आवश्यकता है? मैं इसके नीचे कैसे प्राप्त करूं? मैं किसी भी सुझाव या सलाह की सराहना करता हूं

Solutions Collecting From Web of "मैं कैसे "java.net.BindException: पता पहले से उपयोग में है: JVM_Bind" त्रुटि का समाधान कैसे करूँ?"

हाँ, आपके पास एक अन्य प्रक्रिया एक ही बंदरगाह तक ही सीमित है।

Windows Sysinternals से TCPView (केवल Windows) मेरी पसंदीदा ऐप है जब भी मेरे पास एक JVM_BIND त्रुटि होती है यह दर्शाता है कि किस प्रक्रिया पर कौन से पोर्ट सुन रहे हैं। यह प्रक्रिया को मारने या रास्ते में मिल रही कनेक्शन को बंद करने के लिए सुविधाजनक संदर्भ मेनू भी प्रदान करता है।

यदि आप जानते हैं कि किस प्रक्रिया को चालू किया जा रहा है, तो आप टाइप कर सकते हैं: lsof -i:<port>

उदाहरण के लिए, lsof -i:8080 , पोर्ट 8080 पर चलने वाली प्रक्रिया (पीआईडी) की सूची के लिए

फिर kill <pid> मारने की प्रक्रिया को kill <pid>

खिड़कियों में

 netstat -ano 

सभी प्रोटोकॉल, बंदरगाहों और सुनवाई प्रक्रियाओं को सूचीबद्ध करेगा। उपयोग

 taskkill -pid "proces to kill" /f 

बंदरगाह को सुनने की प्रक्रिया को मारने के लिए जैसे

  taskkill -pid 431 /f 

मैक में:

प्रक्रिया को समाप्त करें टर्मिनल:

kill <pid>

पीआईडी ​​खोजें: टर्मिनल:

lsof -i:<port>

डिएगो पिनो जवाब से

उबुंटू / यूनिक्स में हम इस समस्या को नीचे बताए अनुसार 2 चरणों में कर सकते हैं।

  1. netstat -plten |grep java उपयोग करें

यह इस तरह से उत्पादन देगा

 tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1001 76084 9488/java 

यहां पोर्ट नंबर 8080 है , जिस पर जावा प्रोसेस चल रही है। और इसकी प्रक्रिया आईडी ( पीआईडी ) जावा के सामने 9 9488/java (9 9488/java )।

  1. अब पते को हल करने के लिए पहले से ही पता लगाएँ कि इस कमांड का उपयोग करके आपको इस प्रक्रिया को मारना होगा।

kill -9 9488

9- स्ट्रीट के लिए 9 9 8 और प्रक्रिया आईडी है। अब सर्वर को फिर से चलाएं

आशा है कि यह उत्तर आपके लिए सहायक होगा।

आपके पास उसी पोर्ट पर एक और प्रक्रिया चल रही है

आप अपने कार्य प्रबंधक में चल रहे एक java.exe सेवाओं में से एक को मारने की कोशिश कर सकते हैं – ps सुनिश्चित करें कि आप ग्रहण को न मारें क्योंकि इसके बाद भी java.exe के रूप में सूचीबद्ध है अगर कुछ भी काम नहीं करता, तो अपनी मशीन को पुनरारंभ करने से इसे किसी भी तरह ठीक हो जाएगा। ऐसा लगता है कि आप पिछली परीक्षा से सॉकेट बंद नहीं कर रहे हैं उम्मीद है की यह मदद करेगा।

विंडोज सीएमडी लाइन में, प्रक्रिया आईडी को ढूंढें जो कि बाइंड बंदरगाह पर कनेक्शन को निम्न कमांड डालकर रखता है:

सी:> नेटस्टेट-ए-ओ

-सभी कनेक्शन दिखाएं

-ओ प्रक्रिया पहचान पहचानकर्ता

और फिर प्रक्रिया समाप्त करें

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

मैं इसे स्पष्ट करने के लिए एक फोटो संलग्न कर रहा हूं (मैं 'स्प्रिंग टूल सूट' का उपयोग करता हूं)। तो आपको क्या करने की ज़रूरत है, अगर आप एक ही प्रोजेक्ट को पुन: लॉन्च करना चाहते हैं, या बटन पर क्लिक करें, जो आपकी प्रोजेक्ट को रोकने के लिए दाईं ओर से दूसरा है और फिर चरम बाएं बटन को चलाने के लिए आपका प्रोजेक्ट। मुझे उम्मीद है कि यह नए प्रोग्रामरों में से कुछ के मुद्दे को हल करेगा। 🙂

यहां छवि विवरण दर्ज करें

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

बहुत आसान होने के लिए बस अपनी मशीन को पुनरारंभ करें, यदि संभव हो तो 🙂

हां, जैसा कि गुइडो सिमोन ने कहा है क्योंकि एक अन्य प्रक्रिया उसी पोर्ट को सुन रही है। यदि आप उबंटु में हैं तो आप उस प्रक्रिया को मार सकते हैं जो कमांड sudo kill $(sudo lsof -t -i:[port number])

पूर्व: sudo kill $(sudo lsof -t -i:8080)

लेकिन एक बार यह मेरे लिए काम नहीं करता था मैंने कमांड दिया

 $ lsof -i:[port] 

और यह कुछ नहीं दिखाता है

मैंने कमांड docker ps -a पीएस- docker ps -a का इस्तेमाल करते हुए मेरे डॉकर कंटेनरों की जांच की लेकिन उनमें से कोई भी जीवित नहीं था। सभी कंटेनर बंद कर दिए गए हैं (लेकिन मुझे याद है, मैंने एक कंटेनर को बंद कर दिया था, जिसे कुछ मिनट पहले उसी पोर्ट का इस्तेमाल किया गया था।) यह सुनिश्चित करने के लिए कि डॉकर का कारण नहीं है , मैं कमांड sudo service docker stop का उपयोग कर पूरे डॉकर प्रोसेस बंद कर रहा हूं और फिर से कोशिश कर रहा हूं। आश्चर्यजनक रूप से ग्रहण उस समय त्रुटि नहीं दिखा। यह मेरे कार्यक्रम को पूरी तरह से चलाता है।

आशा है कि मेरा अनुभव किसी एक को मदद करेगा

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

आपका पोर्ट कुछ अन्य प्रक्रिया में व्यस्त होना चाहिए तो आप https://tchnet.microsoft.com/en-us/sysinternals/bb897437 पर TCPView डाउनलोड कर सकते हैं और प्रयुक्त पोर्ट के लिए प्रक्रिया को मार सकते हैं।

यदि आपको अपना पोर्ट पता नहीं है, तो उस सर्वर पर डबल क्लिक करें जो प्रारंभ नहीं है और ओपन सर्वर प्रॉपर्टी पेज पर क्लिक करें और बाएं कॉलम से ग्लासफिश पर क्लिक करें। आपको यहां बंदरगाह मिलेगा।

(1) जांचें कि पोर्ट उपयोग में है या नहीं, उस प्रक्रिया को मार डालो

$ एलएसओफ़ ​​-i: [पोर्ट]

(2) एक और कारण यह है कि पोर्ट IPv6 द्वारा उपयोग किया जाता है, समाधान:

संपादित करें /etc/sysctl.conf

फाइल में इसे जोड़ें

net.ipv6.conf.all.disable_ipv6 = 1

तो इसे प्रभावी बनाने

$ sudo sysctl -p /etc/sysctl.conf

या बस रिबूट