노드 서버 중지 노드 프로세스를 종료하는 방법

전체 스택 애플리케이션에서 작업하는 동안 동시에 실행되는 많은 노드 프로세스로 끝날 수 있습니다.
자동화 스크립트이거나 TDD를 코딩하는 동안 단위 테스트를 감시하고 실행하는 스크립트일 수 있습니다.
대부분의 경우 Webpack이 실행되고 localhost에서 프런트엔드를 제공하고 프런트엔드가 연결되는 REST API를 제공하는 노드 앱일 가능성이 높습니다. 두 경우 모두 이러한 프로세스는 특정 포트를 차지합니다.

예를 들어 현재 React App은 localhost:3000에서 제공되고 백엔드는 서버리스 오프라인을 통해 localhost:3001에서 실행됩니다.

일반적으로 다음과 같이 명령줄을 통해 해당 프로세스를 시작합니다.

npm run react-scripts start


또는

sls offline start --port 3001


실행 중일 때 다음을 사용하여 빠르게 종료할 수 있습니다.

 <Ctrl> + C


Visual Studio Code 또는 IntelliJ IDEA의 디버그 구성을 통해 시작한 경우 중지 버튼을 클릭하여 프로세스를 중지할 수 있습니다.



여기까지는 문제 없습니다. 때로는 일부 프로세스를 시작한 다음 IDE 또는 터미널을 닫았음에도 불구하고 여전히 어딘가에 걸려 있고 다시 실행하려고 하면 포트가 사용 중이라는 오류가 발생합니다.

왜, 어떻게 그런 일이 일어나는지 모르겠지만 때때로(몇 주 또는 몇 달) 사용할 올바른 명령을 찾기 위해 인터넷 검색을 합니다. Google 20초 미만 ). 따라서 여기에 드롭하겠습니다. 다른 사람에게도 유용할 수 있습니다!

ps -ef | grep node
# or 
ps aux | grep node


이 명령은 실행 중인 모든 노드 프로세스를 인쇄합니다. 작업 중인 프로젝트와 관련이 없는 다른 항목(예: Slack 또는 Postman)이 있을 수 있으므로 처음에는 혼란스러울 수 있습니다.
스크립트 또는 js 파일을 가리키는 노드 프로세스를 찾고 프로세스 ID(왼쪽에서 두 번째 값)를 기록해 둡니다.



많은 프로세스가 실행 중이기 때문에 텍스트 벽이 있는 경우 포트로 열린 프로세스를 검색할 수 있습니다(일반적으로 반응 애플리케이션을 시작할 때 백엔드가 포트 3001에 있는 동안 포트 3000에 있음).

lsof -i :3001 


프로세스와 ID가 있으면 ..

그럼 그냥 자비없이 죽여!

kill -9 PROCESS_ID 


도움이 되길 바랍니다

좋은 웹페이지 즐겨찾기