• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    해결됨

killall -9 node 가 무엇인지요?

23.02.16 13:37 작성 23.02.16 13:45 수정 조회수 586

1

강의에서 포트가 남아있을경우 killall -9 node명령어를 사용하라고 하셨는데요..

포트가 남아있다는게 무슨 뜻인지 모르겠습니다..

저는 vscode로 진행중이며,

npm run bulid 후에 npm run dev로 서버를 다시 시작하고 코드가 변경될때마다 Ctrl + c로 껏다가 다시 재시작 하여 반복 하는데요.

강사님께서는 killall -9 node를 사용하시는데 이걸 왜 쓰는지 모르겠어요..

그리고 killall node 사이의 -9 는 무슨뜻인가요?

답변 1

답변을 작성해보세요.

1

안녕하세요! 질문 감사드립니다 :)

먼저, 지금 하고 계신 방식대로 서버를 끄고 다시 실행했을 때 별 문제가 없으므로 그대로 진행하셔도 무방합니다.
다만 환경에 따라 재시작을 했을 때, 기존의 localhost:3000 에 서버가 실행되지 않고, localhost:3001 로 port 번호가 바뀌는 경우가 발생합니다.(아래 사진 참조)

image강의에서 포트 번호가 중요한 것은 아니므로 동작이 안되거나하진 않을 것입니다. 다만 강의의 일관성을 위해 포트 번호를 3000번으로 유지시키고자 kill 명령어를 수행하였습니다.

 

image위의 사진과 같이, 3000번 포트가 열린 상태로(lsof -i :3000 명령어로 확인 가능) npm run dev를 실행하면, 3000번 포트가 이미 열려있다는 메시지가 뜰 것입니다.
따라서 kill 명령어로 3000번 포트로 실행되고 있는 process를 죽이고자 한 것입니다!

killall 명령어에 대한 문서를 보면 확인할 수 있듯이(https://ss64.com/bash/killall.html, Common Kill Signals과 Examples 참고.), "killall -[signal number] [command name]" 순서로 명령어를 작성해야합니다. 이때, command 이름은 'node'이고, signal number는 9(SIGKILL, kill signal)이므로 "killall -9 node" 명령어로 node process를 죽이고자 했습니다.

물론 정확히 위의 명령어가 아니더라도, 3000번 포트에 연결된 process를 kill할 수만 있다면 어떤 명령어이든 상관 없습니다!

답변이 되었다면 좋겠습니다🙏 감사합니다.

박제영님의 프로필

박제영

2023.04.25

넘나 친절한 설명 그리고 제가 문서보는 비용이 절약되는 감사한 답변이엿습니다.