Node.js 프로세스의 실행, 재시작, 변경감지, 클러스트, 로그를 제공한다.
pm2 start < id | app_name | json | stdin > : 프로세스 시작
pm2 stop < id | app_name | all | json | stdin > : 프로세스 멈춤(목록에는 남아 있음)
pm2 delete < id | app_name | all | json | stdin > : 프로세스 목록에서 제거
pm2 kill : pm2 데몬 자체를 죽일 경우
pm2 restart < id | app_name > : 애플리케이션의 새로운 배포 등으로 재시작할 경우
pm2 list : 현재 실행 중인 프로세스 목록 확인
pm2 monit : 현재 서버에서 실행 중인instance의 cpu 및 메모리 사용량 확인 가능
pm2 desc(show) < id | app_name | all | json | stdin > : 프로세스 내용,에러 등 상세 정보
pm2 logs < id | app_name> : 프로세스의 로그 확인
pm2 flush : 로그 파일 지우기
pm2 reload < id | app_name | all > : 해당 서비스를 종료하지 않고 리로드. 클러스터 모드일 때 다운타임 없이 서버를 재가동함.
(참조한 곳) Performance에 대한 process 관리가 필요하게 되는 경우가 있는데, PM2 의 Cluster 기능은 이러한 경우 process를 Auto-scaring, Load-Balancing 해준다.
이때 instance를 0으로 두게 되면, pm2에서 자동으로 MAX 개수의 프로세스를 만들어서 서비스가 가능하도록 해준다.
사용 예 pm2 start lpushServer.js -i -0 (--name "example")
괄호 안의 내용은 option이다.
( -i ) 옵션은 클러스터 모드로 실행하겠다는 의미이다.