반응형

개발하다 8976 포트를 사용하는 node.js 프로그램을 개발하였는데 
listen이 안되길래 분명히 kill을 해줘도 계속 되살아 났다.

포트 현황을 확인하기 위해 리눅스에서 netstat를 실행해보니 아래처럼 주루룩 나온다.

netstat -tnlp


보다 간단하게 확인하기 위해 grep와 포트번호를 입력하고 실행하면 하나만 나오는게 확인 된다.

netstat -nap | grep :8976

(이때 root권한으로 실행을 해야 프로세스아이디 확인이 된다는 이야기를 본것 같다.)
21688을 실행시키고 있는 부모의 프로세스ID를 찾는 명령언데
ps -o ppid= -p 21688

이걸 실행하니 부모의 프로세스 아이디가 내 경우 11811이었다.

ps -p 11811
이 process id로 조회를 해보면 pm2로 실행되고 있었다.
해당 프로세스 아이디를 kill 11811 해주고 pm2가 실행하던 프로세스 아이디도 kill해주면 증상이 해결된다.


반응형
Posted by Hippalus
,

반응형

일단 root 권한으로 접속을 하자.
su 입력 후 관리자 비번을 입력하면 요렇게 접속이 된다.

(반대로 이전 이용자로 돌아가려면 su - [아이디] 엔터로 복귀 가능하다.)

root권한을 획득 하였으면 lsof를 설치하자.
내 리눅스는 레드헷 계열이므로 
sudo yum install lsof 

설치가 됐다면 이제 사용중인 포트로 조회가 가능하다.

lsof -i :8976


요롷게 프로세스 ID (PID)가 나타난다.
이걸 죽여는 명령어는 아래와 같다.
kill -9 <프로세스ID>

프로세스 ID가 15083이니까
kill -9 15083 을 입력하면 되겠다.

반응형
Posted by Hippalus
,