บ่อยครั้งที่เวลาเรา run port บางอย่างขึ้นมาแล้ว ไม่ได้ปิดมัน หรือ ปิดมันผิดวิธี เมื่อเรา run ใหม่ มันก็จะบอกเราว่า มี port นั่นอยู่แล้ว ชนกัน

เช่น ถ้าเรา run node โดยใช้ port 8888 แล้วไม่ได้ kill port นั้นทิ้ง ตอน run ใหม่ มันจะชนกัน

ถ้าหากเราต้องที่จะ kill port 8888 ทิ้ง ให้ทำตามนี้

ค้นหา port

lsof -i tcp:8888

หรือใช้คำสั่ง

netstat -vanp tcp | grep 8888

ถ้าเจอก็จะแสดงผลประมาณนี้

COMMAND      PID       USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
msedge      4544 charanchai   37u  IPv4 1818498      0t0  TCP localhost:42550->localhost:8888 (ESTABLISHED)
msedge      4544 charanchai   40u  IPv4 1845739      0t0  TCP localhost:42558->localhost:8888 (ESTABLISHED)
jupyter-l 590618 charanchai    6u  IPv4 1836806      0t0  TCP localhost:8888->localhost:42550 (ESTABLISHED)
jupyter-l 590618 charanchai    7u  IPv4 1842600      0t0  TCP localhost:8888->localhost:42558 (ESTABLISHED)
jupyter-l 590618 charanchai    8u  IPv4 1860748      0t0  TCP localhost:8888 (LISTEN)

Output

ให้เราดูที่ PID ซึ่งในตัวอย่าง คือ 590618


Kill Port

เมื่อเรารู้แล้วว่า PID ของเราคืออะไร ก็ให้ใช้คำสั่ง kill ได้เลย

kill -9 <PID>

เช่น

kill -9 590618

เท่านี้เราก็ kill port ที่เรา run ค้างไว้ได้แล้ว