PM2 치트 시트
PM2는 Node.js 프로세스를 관리하고 상태를 확인할 수 있는 프로세스 관리 도구입니다. 또한 성능 모니터링, 프로세스 보호, 부하 분산 등의 기능도 지원합니다.
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 |
모든 로그 다시 로드 |
동작 (Action)
| 명령 | 설명 |
|---|---|
pm2 stop all |
모든 프로세스 중지 |
pm2 restart all |
모든 프로세스 재시작 |
| — | — |
pm2 reload all |
0초 재시작 (네트워크 연결된 애플리케이션용) |
| — | — |
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 start app.js --no-vizion |
vizion 기능(버전 관리) 건너뛰기 |
pm2 start app.js --no-autorestart |
애플리케이션 자동 재시작 비활성화 |