목차
VScode 사용 중 'address already in use' 에러 해결 방법
이제는 개발 환경을 구성하고 코드를 작성하는 것이 어렵지 않습니다. 그러나 때로는 예상치 못한 문제가 발생할 수 있습니다. 그 중 하나가 'address already in use' 에러일 것입니다. 이 글에서는 VSCode를 사용하면서 이러한 에러가 발생한 경우 해결 방법을 안내해 드리겠습니다.
linux killall node command use in windows taskkill /f /im node.exe Starting inspector on 127.0.0.1:9229 failed: address already in use
안녕하세요, 여러분! 오늘은 개발 과정에서 종종 마주치는 문제 중 하나인 'address already in use' 에러에 대해 이야기하려고 합니다. 이 문제는 주로 VSCode에서 개발을 진행하면서 발생하는데요, 이 에러가 왜 발생하며 어떻게 해결할 수 있는지 살펴보겠습니다.
에러 메시지: Starting inspector on 127.0.0.1:9229 failed: address already in use
이 에러 메시지는 대부분의 경우 서버나 디버깅 도구를 실행하려고 할 때 나타납니다. 주로 127.0.0.1(로컬 호스트)의 9229 포트를 사용하려고 할 때 이미 해당 포트를 다른 프로세스가 사용 중이라는 것을 의미합니다.
Windows Machine: 해결 방법
이러한 에러를 해결하기 위해 여러 가지 방법을 시도해볼 수 있습니다.
1. taskkill 명령어 사용
먼저, Windows 환경에서는 이미 사용 중인 프로세스를 종료하는 데에 taskkill
명령어를 사용할 수 있습니다. 다만, 강제 종료를 위해 /f
옵션을 함께 사용해야 합니다. 아래와 같이 명령 프롬프트에서 실행해 보세요.
C:\Work>taskkill /f /im node.exe
위 명령어는 node.exe
프로세스를 강제로 종료합니다. 만약 다른 Node 프로세스가 실행 중인 경우에도 같은 방식으로 종료할 수 있습니다.
2. 특정 포트에 해당하는 프로세스 종료
만약 특정 포트에 해당하는 프로세스만 종료하고 싶다면, 해당 포트를 사용 중인 프로세스의 ID를 찾아서 강제 종료할 수 있습니다. 아래와 같이 명령어를 실행하여 프로세스 ID를 확인한 후, 해당 ID를 이용하여 프로세스를 종료할 수 있습니다.
C:\>netstat -ano | find "LISTENING" | find "8080"
위 명령어는 8080 포트를 사용 중인 프로세스의 ID를 찾아줍니다. 그 후에는 아래와 같이 해당 프로세스 ID를 사용하여 종료할 수 있습니다.
C:\>taskkill /f /pid 14828
위 명령어에서 /f
옵션은 강제 종료를 의미합니다.
3. SIGKILL 또는 -9 사용
Linux 환경에서는 killall
명령어를 사용하여 모든 Node 프로세스를 종료할 수 있습니다. 만약 모든 프로세스가 종료되지 않는 경우, -9
옵션을 추가하여 SIGKILL 시그널을 보내 강제 종료할 수 있습니다. 아래와 같이 실행해 보세요.
killall -9 node
또한, 특정 포트에 해당하는 프로세스를 종료하고자 할 때는 netstat
명령어를 통해 해당 포트를 사용 중인 프로세스의 ID를 확인하고, 해당 ID를 사용하여 프로세스를 종료할 수 있습니다.
마무리
이상으로, VSCode에서 'address already in use' 에러를 해결하는 몇 가지 방법에 대해 살펴보았습니다. 이러한 문제는 개발 과정에서 자주 마주치는 문제 중 하나이지만, 단계별로 차근차근 따라가면 쉽게 해결할 수 있습니다. 여러분의 개발 환경이 원할하게 돌아가도록 이러한 유용한 정보들을 활용해 보시기 바랍니다.
Linux machine: 환경에서의 해결 방법
Linux 환경에서도 'address already in use' 에러를 해결하는 방법은 크게 다르지 않습니다. 다만 몇 가지 추가 정보를 제공해 드리겠습니다.
모든 Node 프로세스 종료
Linux에서도 Windows와 마찬가지로 모든 Node 프로세스를 종료할 수 있습니다. 다만, 사용 가능한 시그널이 다를 수 있습니다. 기본적으로는 SIGTERM 시그널을 사용하지만, SIGKILL이 필요한 경우도 있습니다. 아래 명령어를 사용하여 모든 Node 프로세스를 종료해 보세요.
killall node
만약 모든 프로세스가 종료되지 않는 경우, -9
옵션을 사용하여 SIGKILL 시그널을 보내 강제 종료할 수 있습니다.
killall -9 node
특정 포트에 해당하는 프로세스 종료
특정 포트에 해당하는 프로세스를 종료하려면 netstat
명령어를 사용하여 해당 포트를 사용 중인 프로세스의 PID를 확인한 후, 해당 PID를 사용하여 프로세스를 종료할 수 있습니다. 아래와 같이 실행해 보세요.
$ netstat -nlp | grep :8080
위 명령어는 8080 포트를 사용 중인 프로세스의 PID를 확인해 줍니다. 그 후에는 아래와 같이 해당 PID를 사용하여 프로세스를 종료할 수 있습니다.
$ kill 1073
만약 프로세스가 종료되지 않는 경우, -9
플래그를 사용하여 SIGKILL 시그널을 보내 강제 종료할 수 있습니다.
$ kill -9 1073
마무리
이상으로, Linux 환경에서의 'address already in use' 에러를 해결하는 방법에 대해 알아보았습니다. Linux에서도 Windows와 마찬가지로 프로세스를 종료하거나 특정 포트에 대한 프로세스를 찾아 종료할 수 있습니다. 이러한 명령어를 통해 원활한 개발 환경을 유지할 수 있을 것입니다.
참고자료:
'Dev > etc' 카테고리의 다른 글
AES-256 암호화 알고리즘 파이썬 구현 (0) | 2024.02.11 |
---|---|
Nginx에서 'begin' (T_STRING) 예기치 않은 문제 해결하기 nginx unexpected 'begin' (T_STRING) (0) | 2023.12.31 |
Git 사용법: 원격 저장소, 복제, 커밋, 푸시, 풀, 머지 충돌 해결, remote Repository, clone,commit, push, pull,merge conflict (0) | 2023.08.03 |
visual studio code 들여쓰기 fomatter tab 간격 조정 (0) | 2021.07.09 |
nginx woff mime type error 설정 해결 방법 Unexpected character in input: 에러 (0) | 2021.01.14 |
댓글