COCO World

[Python/Pycharm] Mac/window용 Address already in use 에러해결, 포트 강제종료 터미널 명령어 본문

에러 기록지

[Python/Pycharm] Mac/window용 Address already in use 에러해결, 포트 강제종료 터미널 명령어

코코월드주인장 2023. 1. 6. 12:33

 

파이참에서 port8000 으로 서버를 구동시키려니 위와 같은 에러 발생

뜬 에러문구를 그대로 해석하자면 어렵지않다. 말그대로 다른 프로그램에서 이미 port 8000을 사용하고 있다는 뜻이다.

그렇다면 다른 포트 넘버로 다시 서버를 실행시키거나, 이전에 이미 사용하고 있는 프로그램을 강제종료하는 방법이있다.

 

Mac.ver 터미널 명령어

나는 사용하고 있지도 않은데 8000이 할당되었으니 찝찝하여 강제종료하여 다시 재할당하여 사용할 것이다.

그렇다면 Terminal을 켜고, lsof -i TCP: [port넘버] 를 입력하면,

lsof -i TCP:8000

포트 8000으로 실행중인 프로그램 목록 상세를 알 수 있다. 우리는 강제종료하기 위해 위의 명령어를 실행하였으니,

강제종료를 위한 명령어도 실행하기 위해선 PID 정보가 필요하다. 이것만 뽑아가자.

COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
ControlCe 456 coco   21u  IPv4 0x20481912a3c35b97      0t0  TCP *:commplex-main (LISTEN)
ControlCe 456 coco   22u  IPv6 0x2048191c40c00cb7      0t0  TCP *:commplex-main (LISTEN)

이어서, 터미널에 명령어 kill -9 [PID번호] 실행하면, 해당 포트넘버로 실행중인 서비스를 강제종료할 수 있다.

kill -9 456

명령어만 기입하면, 참고하는 이가 헷갈릴 수 있어서 작성자의 포트넘버와 PID번호를 기재하였으니, 적절히 예시로만 참고하자!

 

윈도우.ver 터미널 명령어
// 1. 해당 포트넘버로 프로그램 정보 상세 확인하는 명령어
netstat -ano | findstr [Port넘버]

// 2. 해당 포트넘버의 pid로 강제종료 명령어
taskkill /pid [pid넘버] /f

이제 다시 서버를 실행하면, 잘 돌아가는 것을 확인할 수 있다.

아,, 터미널만 거쳐가면 멀미가 난다.