AWS pm2 에러 - address already in use :::8080

moontag·2023년 9월 27일
0

에러

목록 보기
8/8

에러 발생

ec2 인스턴스에서 pm2 log를 했을 때 보이는 에러다

0|app    | Error: listen EADDRINUSE: address already in use :::8080
0|app    |     at Server.setupListenHandle [as _listen2] (node:net:1872:16)
0|app    |     at listenInCluster (node:net:1920:12)
0|app    |     at Server.listen (node:net:2008:7)



원인

  • 예전에 sudo su로 들어가서 root계정에서 pm2 킨 다음
    이 사실을 잊고 있었다가

  • 일반 사용자계정에서도 pm2를 켜놓고 있었다..
    그래서 일반 사용자 계정에서 pm2 ls를 해도 1개밖에 안보여서
    중복된 pm2를 킨 사실을 인지하지 못하고 있었다.

  • 위처럼 하게 되면 root계정에서 pm2 켜져있고
    일반 사용자계정에서도 pm2가 켜져있는 상태가 된다.

  • 모든 사용자의 실행중인 모든 프로세스에 대한 상세정보 확인하기

    ps aux --sort=-%mem | head
  • 확인해보면 root계정에서와 일반사용자계정에서도 pm2가 실행 중인 것을 확인할 수 있었다

해결

  • sudo su로 root계정에서 pm2 kill해서 꺼주기
  • ps aux --sort=-%mem | head로 확인해도 아직도 있으면 밑에 명령어로 지정해서 삭제하기
sudo kill -9 174272  # 여기서 174272은 종료하려는 PM2의 PID입니다.
#kill: 이 명령어는 특정 PID(Process ID)에 신호(signal)을 보내 작업을 제어한다
  • 앞으로 일반 사용자 계정에서만 pm2를 실행하도록 하기
profile
터벅터벅 나의 개발 일상

0개의 댓글