๐ Error: listen eaddrinuse: address already in use :::3000 ์ค๋ฅ ํด๊ฒฐ ๋ฐฉ๋ฒ
โ๏ธ ํฐ๋ฏธ๋์์ node app.js ๋๋ pm2 restart app.js๋ฅผ ํ์ ๋ ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ ๋ฐ์
error: listen eaddrinuse: address already in use :::3000
โ๏ธ ์ค๋ฅ ์์ธ
์ด๋ฏธ 3000 ํฌํธ์์ listening ๋๊ณ ์๋ ๊ฒ ์๋ค๋ ์๋ฏธ
โ๏ธ ํด๊ฒฐ๋ฐฉ๋ฒ
1. Mac OS or Linux ๋ฒ์
losf: ํฐ๋ฏธ๋์์ ํ์ฑํ๋ ํ๋ก์ธ์ค ๋ฆฌ์คํธ๋ฅผ ์ถ๋ ฅํ๊ฒ ํด์ฃผ๋ ๋ช ๋ น์ด
-i : ํฐ๋ฏธ๋์์ ํน์ ํฌํธ๋ฅผ ์ฌ์ฉ ์ค์ธ ํ๋ก์ธ์ค๋ง ๋ณด์ฌ์ค๋ค.
1. lsof -i TCP:3000 ๋ฅผ ์ ๋ ฅํด์ 3000๋ฒ์ผ๋ก listening ๋๊ณ ์๋ ๊ฒ์ ๊ฒ์ํ๋ค.
lsof -i TCP:3000
๋ค์๊ณผ ๊ฐ์ด ๊ฒ์๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค. (์์์ด๋ฏ๋ก ๊ตฌ์ฒด์ ์ธ ๊ฒ์ ์กฐ๊ธ ๋ค๋ฅผ ์ ์์)
command์ ์๋ node๋ ํ๋ก์ธ์ค ์ด๋ฆ, PID๋ ํ๋ก์ธ์ค์ PID ๊ฐ์ ์๋ฏธ.
์ฆ node ํ๋ก์ธ์ค์์ ์ด๋ฏธ 3000 port๋ฅผ listening ํ๊ณ ์๋ ๊ฒ.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 12345 abcde 12a IPv4 0xadsfsdfasdfsdfff 0t0 TCP *:strexec-s (LISTEN)
2. ๊ทธ๋ฌ๋ฉด PID ์ซ์๋ฅผ kill -9๋ก ์ฃฝ์ฌ์ค๋ค.
kill -9 12345
* ๋ง์ฝ์ ๊ถํ์ด ํ์ํ๋ค๊ณ ํ๊ฑฐ๋ ์ ์ฃฝ์ฌ์ง ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฅํ๋ค.
sudo kill -9 12345
์๋ฃ!
2. Window ๋ฒ์
natstat : ํฌํธ๋ฅผ ์ฌ์ฉ ์ค์ธ ํ๋ก์ธ์ค ํ์ธ ๊ฐ๋ฅ
-a : ๋ชจ๋ ํฌํธ ํ์
-n : IP:PORT ํ์์ผ๋ก ํ์
-o : PID ํ์
1. netstat -ano | find "3000" ์ ์ ๋ ฅํด์ listening ๋๊ณ ์๋ ๊ฒ์ ๊ฒ์ํ๋ค.
| find "3000" ๋ ์ ๋ ฅํ๋ฉด 3000์ด ํฌํจ๋ ๋ถ๋ถ๋ง ๊ฒ์๋๋ค๋ ๋ป์ด๋ค.
netstat -ano | find "3000"
๋ค์๊ณผ ๊ฐ์ด ๊ฒ์๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค. (์์์ด๋ฏ๋ก ๊ตฌ์ฒด์ ์ธ ๊ฒ์ ์กฐ๊ธ ๋ค๋ฅผ ์ ์์)
ํ๋กํ ์ฝ ๋ก์ปฌ ์ฃผ์ ์ธ๋ถ ์ฃผ์ ์ํ PID
TCP 0.0.0.0:3000 0.0.0.0:0 LISTENING 1234
2. PID ์ซ์๋ฅผ taskkill /pid๋ก ์ฃฝ์ฌ์ค๋ค.
taskkill /pid 1234
* ๋ง์ฝ์ ๊ถํ์ด ํ์ํ๋ค๊ณ ํ๊ฑฐ๋ ์ ์ฃฝ์ฌ์ง ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฅํ๋ค.
taskkill /f /pid 1234
์ฐธ๊ณ ์๋ฃ
https://jootc.com/p/201912253249
์๋์ฐ ํน์ ํฌํธ ๊ฒ์ ์ข ๋ฃ