늘 그랬듯이 npm scripts로 서버를 작동시킨 뒤 작업 완료 후Ctrl+C로 서버를 종료시켰는데 다시 서버를 작동시키려 하니 아래와 같은 에러가 발생하였다.
Sass is watching for changes. Press Ctrl-C to stop.
[1]
[0] events.js:292
[0] throw er; // Unhandled 'error' event
[0] ^
[0]
[0] Error: listen EADDRINUSE: address already in use :::3000
자세히 살펴보니 안 보이는 곳에서 localhost:3000 작동되고 있는 것 같았다. 그럼 내가 모르는 곳에서 작동하고 있는 이 서버를 어떻게 종료시킬 수 있을까?
네트워크 상태 및 프로토콜 통계를 표시하는 화면 보고 싶을 때사용 하는 netstat 명령이 있다고 한다. 터미널에 netstat -an
를 입력해서 현재 네트워크 상태를 살펴 보았다.
흠.. 3000 포트가 보였다.. 의심스러운 상황이다!!
실행중인 모든 노드 프로세스를 종료하기 위해 killall node
를 입력한 뒤 다시 서버를 실행시켜보니 정상적으로 서버가 실행되는 것을 확인할 수 있었다!
kllall node을 하였음에도 종료가 되지 않는다면, lsof -i tcp:3000
로 현재 3000번을 사용하고 있는 목록을 조회한다음 종료시킬 PID번호를 찾는다.
그 다음 kill -9 PID번호
를 입력하여 해당 프로세스를 종료시킨다!
잘 보고 갑니다 ~ 🎈