“లోపం: వినండి EADDRINUSE: చిరునామా ఇప్పటికే వాడుకలో ఉంది” ఎలా పరిష్కరించాలి?

Lopam Vinandi Eaddrinuse Cirunama Ippatike Vadukalo Undi Ela Pariskarincali



Node.js అనేది జావాస్క్రిప్ట్ భాషలో వ్రాసిన కోడ్‌ను వెబ్‌పేజీ లేదా స్థానిక సర్వర్‌లో అమలు చేయడానికి అనుమతించే రన్‌టైమ్ వాతావరణం. ఇది ఒకే-థ్రెడ్ పర్యావరణం మరియు అసమకాలిక స్వభావాన్ని కలిగి ఉంటుంది. ఇది సర్వర్ ద్వారా HTTP అభ్యర్థనలను పంపడం వంటి వివిధ కార్యకలాపాలను నిర్వహించడానికి ఉపయోగించే వివిధ అంతర్నిర్మిత మరియు బాహ్య మాడ్యూల్‌లను అందిస్తుంది. వివిధ స్థానిక సర్వర్‌లతో పరస్పర చర్య చేస్తున్నప్పుడు నిర్దిష్ట గైడ్‌లను అనుసరించడం ద్వారా పరిష్కరించబడే బహుళ ఎర్రర్‌లను పొందే అవకాశం ఉంది.

ఈ గైడ్ దిగువ విభాగాలను కవర్ చేయడం ద్వారా “వినండి EADDRINUSE: ఇప్పటికే ఉపయోగంలో ఉన్న చిరునామా” కోసం సాధ్యమయ్యే పరిష్కారాలను వివరిస్తుంది:

“లోపం: వినండి EADDRINUSE: చిరునామా ఇప్పటికే వాడుకలో ఉంది” ఎలా పరిష్కరించాలి?

ది ' లోపం: EADDRINUSE వినండి: చిరునామా ఇప్పటికే వాడుకలో ఉంది ” ఒకటి కంటే ఎక్కువ అప్లికేషన్లు లేదా టాస్క్‌లు ఒకే పోర్ట్‌ని యాక్సెస్ చేయడానికి ప్రయత్నించినప్పుడు ఉత్పన్నమవుతుంది. పరీక్ష లేదా అభివృద్ధి దశల్లో ఈ లోపం తలెత్తవచ్చు. ఉదాహరణకు, మెరుగైన అవగాహన కోసం పైన పేర్కొన్న లోపం ఏర్పడబోతోంది:







స్థిరంగా ఎక్స్ప్రెస్ఓబ్జ్ = అవసరం ( 'ఎక్స్‌ప్రెస్' )
స్థిరంగా demoApp = ఎక్స్ప్రెస్ఓబ్జ్ ( )
demoApp. పొందండి ( '/' , ( req, res ) => {
res. json ( {
పేరు : 'CORSపై Linuxhint కథనం' ,
భాష : 'Node.js' ,
అప్లికేషన్ : 'corsApp' ,
మూలం : 'క్రాస్ ఆరిజిన్' ,
మిడిల్వేర్ : 'CORS'
} )
} )
demoApp. వినండి ( 8080 , ( ) => {
కన్సోల్. లాగ్ ( `సర్వర్ ఆన్‌లో ప్రారంభమైంది 'http://localhost:8080/' ` )
} )
demoApp. వినండి ( 8080 , ( ) => {
కన్సోల్. లాగ్ ( `సర్వర్ ఆన్‌లో ప్రారంభమైంది 'http://localhost:8080/' ` )
} )

పై కోడ్ స్నిప్పెట్ ఇలా పనిచేస్తుంది:



  • మొదట, దిగుమతి చేసుకోండి ' ఎక్స్ప్రెస్ 'మాడ్యూల్ మరియు దాని వస్తువును కొత్త వేరియబుల్‌లో నిల్వ చేయండి' ఎక్స్ప్రెస్ఓబ్జ్ ”. “ అనే కొత్త ఎక్స్‌ప్రెస్ అప్లికేషన్‌ను సృష్టించడానికి ఈ వేరియబుల్‌ని కన్స్ట్రక్టర్‌గా ఉపయోగించండి demoApp ”.
  • తరువాత, 'ని ఉపయోగించి GET అభ్యర్థనను సృష్టించండి పొందండి() ” పద్ధతి మరియు హోమ్ పేజీని పాస్ చేయడం ద్వారా రూట్ హ్యాండ్లర్‌గా సెట్ చేయండి / ” మొదటి పారామీటర్‌గా. రెండవ పరామితి '' అని పంపే అనామక కాల్‌బ్యాక్ ఫంక్షన్ JSON 'డేటా' యొక్క వినియోగం ద్వారా ప్రతిస్పందనగా json() ” పద్ధతి.
  • ఆ తర్వాత, '' యొక్క అదే పోర్ట్ నంబర్‌లో ఆ యాప్‌ను అమలు చేసేలా చేయండి 8080 ' రెండు సార్లు. ఒకే పోర్ట్‌ను రెండుసార్లు అమలు చేయడం వలన పేర్కొన్న ఎర్రర్‌ను ఉత్పత్తి చేస్తుంది.

ఎగువ కోడ్ యొక్క సంకలనం తర్వాత రూపొందించబడిన అవుట్‌పుట్ “లోపం: వినండి EADDRINUSE: చిరునామా ఇప్పటికే ఉపయోగంలో ఉంది” లోపం సంభవించినట్లు చూపిస్తుంది:







పై అవుట్‌పుట్‌లో సంభవించిన లోపాన్ని పరిష్కరించడానికి ప్రధానంగా రెండు పరిష్కారాలు ఉన్నాయి, అవి పోర్ట్ నంబర్‌లను మార్చడం లేదా నడుస్తున్న ప్రక్రియలలో ఒకదాన్ని ఆపివేయడం. కానీ పరోక్షంగా పరిష్కరించే అనేక ఇతర పరిష్కారాలు ఉన్నాయి ' లోపం: EADDRINUSE వినండి: చిరునామా ఇప్పటికే వాడుకలో ఉంది ” లోపం. ఆచరణాత్మక ప్రదర్శనలతో పాటు ఈ పరిష్కారాలు క్రింద పేర్కొనబడ్డాయి:

పరిష్కారం 1: వివిధ పోర్ట్‌లపై ప్రక్రియలను అమలు చేయండి

పేర్కొన్న ఎర్రర్‌కు అత్యంత సిఫార్సు చేయబడిన పరిష్కారం ఏమిటంటే, మా విషయంలో లాగా రెండు సేవలు నడుస్తున్న పోర్ట్ నంబర్‌లను గుర్తించడం “ 8080 ”. ఆ తర్వాత, యాదృచ్ఛికంగా ఒక సేవను ఎంచుకుని, వివిధ పోర్ట్ నంబర్‌లతో సేవలు స్థానిక హోస్ట్‌లో వినేలా చేయడానికి దాని పోర్ట్ నంబర్‌ను సవరించండి. చర్చించిన సవరణ తర్వాత మా కోడ్ క్రింద చూపబడింది:



స్థిరంగా ఎక్స్ప్రెస్ఓబ్జ్ = అవసరం ( 'ఎక్స్‌ప్రెస్' )
స్థిరంగా demoApp = ఎక్స్ప్రెస్ఓబ్జ్ ( )
demoApp. పొందండి ( '/' , ( req, res ) => {
res. json ( {
పేరు : 'CORSపై Linuxhint కథనం' ,
భాష : 'Node.js' ,
అప్లికేషన్ : 'corsApp' ,
మూలం : 'క్రాస్ ఆరిజిన్' ,
మిడిల్వేర్ : 'CORS'
} )
} )
demoApp. వినండి ( 8080 , ( ) => {
కన్సోల్. లాగ్ ( `సర్వర్ ఆన్‌లో ప్రారంభమైంది 'http://localhost:8080/' ` )
} )
demoApp. వినండి ( 3000 , ( ) => {
కన్సోల్. లాగ్ ( `సర్వర్ ఆన్‌లో ప్రారంభమైంది 'http://localhost:8080/' ` )
} )

పై కోడ్‌ని అమలు చేసిన తర్వాత ఉత్పత్తి చేయబడిన అవుట్‌పుట్ ఇప్పుడు ' లోపం: EADDRINUSE వినండి: చిరునామా ఇప్పటికే వాడుకలో ఉంది 'సమస్య పరిష్కరించబడింది:

పరిష్కారం 2: అదే పోర్ట్‌లో నడుస్తున్న ప్రక్రియలను ఆపడం

'listen EADDRINUSE: ఇప్పటికే ఉపయోగంలో ఉన్న చిరునామా' లోపాన్ని పరిష్కరించడానికి మరొక మార్గం ఇప్పటికే ఉపయోగంలో ఉన్న నిర్దిష్ట పోర్ట్‌లో నడుస్తున్న ప్రక్రియలను ఆపడం. ఇది నిర్దేశిత పనులను నిర్వహించడానికి డెవలపర్ ద్వారా యాక్సెస్ చేయగల పోర్ట్‌ను నిష్క్రియంగా చేస్తుంది. '' అనే బాహ్య మాడ్యూల్ సహాయంతో ఈ ఆపే ప్రక్రియ జరుగుతుంది కిల్-పోర్ట్ ”.

ఉదాహరణకు, పేర్కొన్న పోర్ట్ నంబర్‌పై నడుస్తున్న అన్ని ప్రక్రియలు ' 8080 'ని ఉపయోగించి చంపబడతారు' కిల్-పోర్ట్ ” మాడ్యూల్. 'కిల్-పోర్ట్' మాడ్యూల్‌ను ఉపయోగించడానికి రెండు మార్గాలు ఉన్నాయి మరియు ఈ రెండు విధానాలు క్రింద పేర్కొనబడ్డాయి:

విధానం 1: ఇన్‌స్టాలేషన్ తర్వాత “కిల్-పోర్ట్” మాడ్యూల్ ఉపయోగించండి

ది ' కిల్-పోర్ట్ ” మాడ్యూల్ అనేది మూడవ పక్షం బాహ్య మాడ్యూల్ మరియు node.js ప్రాజెక్ట్ లోపల ఈ మాడ్యూల్‌ని ఉపయోగించడానికి. దిగువ పేర్కొన్న ఆదేశాన్ని అమలు చేయడం ద్వారా ఈ మాడ్యూల్ మొదట డౌన్‌లోడ్ చేయబడాలి:

npm ఇన్‌స్టాల్ కిల్ - ఓడరేవు - g

కింది బొమ్మ '' కోసం ఇన్‌స్టాలేషన్ పూర్తయినట్లు చూపిస్తుంది కిల్-పోర్ట్ ”వేరియబుల్:

ఇన్‌స్టాలేషన్ తర్వాత, వినియోగదారు అవసరమైన పోర్ట్ నంబర్ కోసం సేవలను చంపవచ్చు. మా విషయంలో, పోర్ట్ నంబర్ యొక్క సేవలు ' 8080 ' దిగువ పేర్కొన్న ఆదేశం ద్వారా చంపబడతారు:

చంపేస్తాయి - ఓడరేవు -- ఓడరేవు 8080

దిగువ అవుట్‌పుట్ పోర్ట్ కోసం అన్ని సేవలను నిర్ధారిస్తుంది ' 8080 'చంపబడ్డారు:

విధానం 2: ఇన్‌స్టాలేషన్ లేకుండా “కిల్-పోర్ట్” మాడ్యూల్ ఉపయోగించండి

ది ' కిల్-పోర్ట్ 'మాడ్యూల్‌ను ఇన్‌స్టాలేషన్ ప్రాసెస్‌ను ఉపయోగించకుండా ఉపయోగించవచ్చు' npx ” ప్యాకేజీ రన్నర్. ఉదాహరణకు, ' కిల్-పోర్ట్ క్రింద పేర్కొన్న “npx” ప్యాకేజీ రన్నర్ ఆదేశాన్ని ఉపయోగించి పేర్కొన్న రెండు పోర్ట్‌లను చంపడానికి మాడ్యూల్ ఉపయోగించబడుతోంది:

npx చంపండి - ఓడరేవు 8080 9000

దిగువ అవుట్‌పుట్ పేర్కొన్న పోర్ట్‌ల కోసం సేవలు చూపిస్తుంది “ 9000 'మరియు' 8080 'చంపబడ్డారు:

బోనస్ చిట్కా: “కిల్-పోర్ట్” మాడ్యూల్ అన్‌ఇన్‌స్టాలేషన్

అన్‌ఇన్‌స్టాల్ చేయడానికి “ కిల్-పోర్ట్ ” సిస్టమ్ నుండి ప్రపంచవ్యాప్తంగా మాడ్యూల్ క్రింద పేర్కొన్న ఆదేశాన్ని అమలు చేయండి:

npm అన్‌ఇన్‌స్టాల్ కిల్ - ఓడరేవు - g

పరిష్కారం 3: Windowsలో Node.js సేవలను ముగించండి

'ఎర్రర్: వినండి EADDRINUSE: చిరునామా ఇప్పటికే వాడుకలో ఉంది' ఇంకా కొనసాగితే, నడుస్తున్న అన్నింటినీ చంపండి ' node.js ” సేవలు GUI లేదా CLI విధానాన్ని ఉపయోగిస్తాయి.

CLI విధానాన్ని ఉపయోగించడం

నొక్కండి' కిటికీ సెర్చ్ బార్‌ని తెరిచి, ఎంటర్ చేయడానికి బటన్ CMD ” ఉత్పత్తి చేయబడిన ఫలితాల నుండి శోధన పెట్టె లోపల. అప్పుడు, 'ని ఎంచుకోండి కమాండ్ ప్రాంప్ట్ ' అప్లికేషన్, మరియు ' నొక్కండి నిర్వాహకునిగా అమలు చేయండి ”బటన్:

ఎంపికను ఎంచుకోవడం ద్వారా, కంట్రోల్ ప్రాంప్ట్ యొక్క కొత్త విండో కనిపిస్తుంది, ప్రస్తుతం నడుస్తున్న “node.js” సేవలను నేపథ్యంలో చంపడానికి, కింది ఆదేశాన్ని అమలు చేయండి:

టాస్క్కిల్ / ఎఫ్ / IM నోడ్. exe

ఉత్పత్తి చేయబడిన అవుట్‌పుట్ “node.js” సేవలు నిలిపివేయబడినట్లు చూపిస్తుంది:

GUI విధానాన్ని ఉపయోగించడం

సిస్టమ్ నుండి నడుస్తున్న node.js సేవలను చంపడానికి, 'ని తెరవండి టాస్క్ మేనేజర్ ''ని కొట్టడం ద్వారా Ctrl + Shift + Esc 'కీలు వెంటనే. “టాస్క్ మేనేజర్” తెరిచిన తర్వాత, “కి వెళ్లండి వివరాలు 'టైప్ చేయండి,' ఎంచుకోండి node.exe 'సేవ, మరియు' నొక్కండి పనిని ముగించండి క్రింద చూపిన విధంగా దిగువ కుడి వైపున ఉన్న బటన్:

Node.jsలో “లోపం: వినండి EADDRINUSE: చిరునామా ఇప్పటికే వాడుకలో ఉంది”ని పరిష్కరించడం గురించి అంతే.

ముగింపు

'లోపం: వినండి EADDRINUSE: చిరునామా ఇప్పటికే వాడుకలో ఉంది' ఒకటి కంటే ఎక్కువ సేవలు ఒకే సమయంలో ఒకే పోర్ట్‌ని ఉపయోగించడానికి ప్రయత్నించినప్పుడు ఉత్పన్నమవుతుంది. దాన్ని పరిష్కరించడానికి, వినియోగదారు వేరే పోర్ట్ నంబర్‌ని ఉపయోగించడానికి ప్రయత్నించాలి లేదా పేర్కొన్న పోర్ట్ నంబర్‌లో ఇప్పటికే అమలవుతున్న సేవలను ' కిల్-పోర్ట్ ” మాడ్యూల్. లోపం ఇప్పటికీ పరిష్కరించబడకపోతే, నడుస్తున్న అందరినీ చంపండి ' node.js ”టాస్క్ మేనేజర్ నుండి సేవలు మరియు మీ అప్లికేషన్‌ను పునఃప్రారంభించండి. ఈ గైడ్ 'లోపం: వినండి EADDRINUSE: ఇప్పటికే ఉపయోగంలో ఉన్న చిరునామా' సమస్యను పరిష్కరించడానికి సాధ్యమైన పరిష్కారాలను వివరించింది.