PM2 치트 시트
pm2는 Node 프로세스를 관리하고 프로세스 상태를 확인하는 데 사용되는 프로세스 관리 도구입니다. 또한 성능 모니터링, 프로세스 보호, 부하 분산(Load Balancing) 및 기타 기능을 지원합니다.
Fork 모드
| 명령 | 설명 |
|---|---|
pm2 start app.js --name my-api |
프로세스를 시작하고 이름을 지정 |
Cluster 모드
| 명령 | 설명 |
|---|---|
pm2 start app.js -i 0 |
가용한 CPU 수에 따라 LB(스케줄러)를 위한 최대 프로세스 수로 시작 |
목록 보기
| 명령 | 설명 |
|---|---|
pm2 list |
모든 프로세스 상태 표시 |
pm2 jlist |
프로세스 목록을 원시 JSON 형식으로 출력 |
pm2 prettylist |
프로세스 목록을 예쁘게 정렬된 JSON 형식으로 출력 |
| — | — |
pm2 describe 0 |
특정 프로세스와 관련된 모든 정보 표시 |
| — | — |
pm2 monit |
모든 프로세스 모니터링 |
로그
| 명령 | 설명 |
|---|---|
pm2 logs [--raw] |
모든 프로세스 로그를 스트림 모드로 표시 |
pm2 flush |
모든 로그 파일 비우기 |
pm2 reloadLogs |
모든 로그 다시 로드 |
작업
| 명령 | 설명 |
|---|---|
pm2 stop all |
모든 프로세스 중지 |
pm2 restart all |
모든 프로세스 재시작 |
| — | — |
pm2 reload all |
0초 다운타임 재로드(NETWORKED 애플리케이션용) |
| — | — |
pm2 stop 0 |
특정 ID의 프로세스 중지 |
pm2 restart 0 |
특정 ID의 프로세스 재시작 |
| — | — |
pm2 delete 0 |
pm2 목록에서 프로세스 삭제 |
pm2 delete all |
pm2 목록에서 모든 프로세스 삭제 |
기타
| 명령 | 설명 |
|---|---|
pm2 reset <process> |
메타데이터(재시작 시간 등) 초기화 |
pm2 updatePM2 |
메모리상의 pm2 업데이트 |
pm2 ping |
pm2 데몬이 시작되었는지 확인 |
pm2 sendSignal SIGUSR2 my-app |
스크립트에 시스템 신호 전송 |
| — | — |
pm2 start app.js --no-daemon |
pm2 데몬이 없는 경우 포그라운드에서 실행 |
pm2 start app.js --no-vizion |
vizion 기능(버전 관리) 건너뛰기 |
pm2 start app.js --no-autorestart |
애플리케이션의 자동 재시작 비활성화 |