๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
CS/Network

[Network] macOS์—์„œ ์‹คํ–‰ ์ค‘์ธ ์„œ๋ฒ„/ngrok ํฌํŠธ ํ™•์ธ ๋ฐ ์ข…๋ฃŒ ๋ฐฉ๋ฒ• ์ •๋ฆฌ

by clolee 2025. 5. 5.

๐Ÿ”Œ macOS์—์„œ ์‹คํ–‰ ์ค‘์ธ ์„œ๋ฒ„/ngrok ํฌํŠธ ํ™•์ธ ๋ฐ ์ข…๋ฃŒ ๋ฐฉ๋ฒ• ์ •๋ฆฌ


๐Ÿ“Œ ๊ฐœ์š”

๋กœ์ปฌ์—์„œ ์‹คํ–‰ํ•œ ์„œ๋ฒ„(Node.js, Flask, Spring, ngrok ๋“ฑ)๊ฐ€ ํŠน์ • ํฌํŠธ๋ฅผ ์ ์œ ํ•˜๊ณ  ์‹คํ–‰ ์ค‘์ผ ๋•Œ:

  • ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๊ฐ€ ์–ด๋–ค ํฌํŠธ๋ฅผ ์ ์œ ํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธ
  • ์„œ๋ฒ„๋ฅผ ์ข…๋ฃŒํ•˜๊ณ  ํ•ด๋‹น ํฌํŠธ๋ฅผ ํ•ด์ œ
  • ํฌํŠธ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ๊ด€๋ฆฌ

์ด ์ž‘์—…์€ ๊ฐœ๋ฐœ ์ค‘ ํฌํŠธ ์ถฉ๋Œ, ์ค‘๋ณต ์‹คํ–‰, ๋ฆฌ์†Œ์Šค ๋‚ญ๋น„๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.


โœ… 1. ์‹คํ–‰ ์ค‘์ธ ํฌํŠธ ํ™•์ธ

๐Ÿ” lsof๋ž€?

**lsof (List Open Files)**๋Š” ํ˜„์žฌ ์—ด๋ ค ์žˆ๋Š” ํŒŒ์ผ๊ณผ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค.
๋ฆฌ๋ˆ…์Šค/์œ ๋‹‰์Šค ์‹œ์Šคํ…œ์—์„œ ํฌํŠธ ์‚ฌ์šฉ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค ํ™•์ธ์—๋„ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ“ ํŠน์ • ํฌํŠธ(์˜ˆ: 3000, 5000, 8080)๊ฐ€ ์‚ฌ์šฉ ์ค‘์ธ์ง€ ํ™•์ธ

# 3000๋ฒˆ ํฌํŠธ๋ฅผ ์‚ฌ์šฉ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค ํ™•์ธ
lsof -i :3000

์˜ˆ์‹œ ๊ฒฐ๊ณผ:

COMMAND   PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
node      1234  you    22u  IPv6  0x...  0t0      TCP *:3000 (LISTEN)

๐Ÿ“ ์ „์ฒด LISTEN ์ค‘์ธ ํฌํŠธ ํ™•์ธ (ํฌํŠธ+PID ๋ชฉ๋ก)

sudo lsof -iTCP -sTCP:LISTEN -n -P

 


โœ… 2. ngrok ํ™•์ธ ๋ฐ ์ข…๋ฃŒ

๐Ÿ“ ngrok ํ”„๋กœ์„ธ์Šค ์ฐพ๊ธฐ

# ngrok PID๋งŒ ํ™•์ธ
pgrep ngrok

๋˜๋Š”

# ngrok ๊ด€๋ จ ์ƒ์„ธ ์ •๋ณด ๋ณด๊ธฐ
ps aux | grep ngrok

๐Ÿ“ ngrok ์ข…๋ฃŒ

kill -9 $(pgrep ngrok)

 

๐Ÿงฝ ์ฐธ๊ณ : ngrok์ด ์ข…๋ฃŒ๋˜๋Š” 5๊ฐ€์ง€ ์ƒํ™ฉ

์ƒํ™ฉ ์ข…๋ฃŒ ์—ฌ๋ถ€
Ctrl + C ์ˆ˜๋™ ์ข…๋ฃŒ โœ… ์ข…๋ฃŒ๋จ
์‹คํ–‰ ํ„ฐ๋ฏธ๋„ ์ฐฝ ๋‹ซ์Œ โœ… ์ข…๋ฃŒ๋จ
์„ธ์…˜ ๋งŒ๋ฃŒ (Free ํ”Œ๋žœ - ์•ฝ 2์‹œ๊ฐ„) โœ… ์ข…๋ฃŒ๋จ
kill / pkill / kill -9 ๋“ฑ ์ˆ˜๋™ ์ข…๋ฃŒ โœ… ์ข…๋ฃŒ๋จ
๋ฐฑ๊ทธ๋ผ์šด๋“œ ์‹คํ–‰ ํ›„ ์‹œ์Šคํ…œ ์žฌ๋ถ€ํŒ… โœ… ์ข…๋ฃŒ๋จ

 


โœ… 3. ๋กœ์ปฌ ์„œ๋ฒ„(Node.js, Flask ๋“ฑ) ์ข…๋ฃŒ

๐Ÿ“ ํฌํŠธ๋กœ ์‹คํ–‰ ์ค‘์ธ ์„œ๋ฒ„ ์ฐพ๊ณ  ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ

lsof -i :3000        # ์˜ˆ: Node.js ์„œ๋ฒ„
kill -9 <PID>        # PID๋Š” ์œ„ ๊ฒฐ๊ณผ์—์„œ ํ™•์ธ

์˜ˆ์‹œ:

kill -9 1234

โœ… 4. ํฌํŠธ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๋ฐ”๊ฟ” ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•

ํฌํŠธ ์ถฉ๋Œ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ์ฒ˜๋Ÿผ ํฌํŠธ๋ฅผ ๋ณ€๊ฒฝํ•ด์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Node.js ์˜ˆ:

PORT=5050 npm start

Flask ์˜ˆ:

flask run --port=5050

๐Ÿ“˜ ์ •๋ฆฌ ํ‘œ

๋ช…๋ น์–ด ์„ค๋ช…
lsof -i :ํฌํŠธ๋ฒˆํ˜ธ ํ•ด๋‹น ํฌํŠธ๋ฅผ ์ ์œ  ์ค‘์ธ ํ”„๋กœ์„ธ์Šค ํ™•์ธ
sudo lsof -iTCP -sTCP:LISTEN ํ˜„์žฌ ์—ด๋ ค ์žˆ๋Š” ๋ชจ๋“  TCP ํฌํŠธ ํ™•์ธ
kill -9 <PID> ํŠน์ • ํ”„๋กœ์„ธ์Šค ๊ฐ•์ œ ์ข…๋ฃŒ
pgrep ngrok ngrok ํ”„๋กœ์„ธ์Šค PID ํ™•์ธ
kill -9 $(pgrep ngrok) ์‹คํ–‰ ์ค‘์ธ ngrok ์ข…๋ฃŒ

โ— ์ฃผ์˜: ์‹œ์Šคํ…œ ํฌํŠธ๋Š” ์ข…๋ฃŒํ•˜์ง€ ๋ง ๊ฒƒ

  • rapportd, ControlCenter ๋“ฑ์€ macOS ์‹œ์Šคํ…œ ํ”„๋กœ์„ธ์Šค
  • ํฌํŠธ 5000, 7000 ๋“ฑ ์‹œ์Šคํ…œ์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ”„๋กœ์„ธ์Šค ๋ช… ํ™•์ธ ํ›„ ์ข…๋ฃŒ
ps -p <PID> -o comm,args

โœ… ๋งˆ๋ฌด๋ฆฌ ์š”์•ฝ

์ž‘์—… ๋ช…๋ น์–ด ์š”์•ฝ
ํฌํŠธ ์ ์œ  ํ™•์ธ lsof -i :3000
ngrok ์ข…๋ฃŒ kill -9 $(pgrep ngrok)
์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ kill -9 <PID>
ํฌํŠธ ์ถฉ๋Œ ๋ฐฉ์ง€ ๋‹ค๋ฅธ ํฌํŠธ ์‚ฌ์šฉ (์˜ˆ: 5050)

๋Œ“๊ธ€