리눅스 pm2

IT위키
이수민 (토론 | 기여)님의 2020년 4월 21일 (화) 00:50 판
Node.js 프로세스 관리 도구

리눅스에서 Node.js 프로그램을 데몬으로 구동하기 위한 프로세스 관리 도구

설치

  • 명령어로 사용되어야 하므로 npm -g를 이용해 전역으로 설치한다.
$ npm install pm2 -g
$ pm2 version
1.0.1

프로세스 실행

  • node 프로세스를 데몬으로 실행한다.
$ pm2 start app.js
[PM2] Spawning PM2 daemon
[PM2] PM2 Successfully daemonized
[PM2] Starting app.js in fork_mode (1 instance)
[PM2] Done.
┌──────────┬────┬──────┬──────┬────────┬─────────┬────────┬─────────────┬──────────┐
│ App name │ id │ mode │ pid  │ status │ restart │ uptime │ memory      │ watching │
├──────────┼────┼──────┼──────┼────────┼─────────┼────────┼─────────────┼──────────┤
│ app      │ 0  │ fork │ 4004 │ online │ 0       │ 0s     │ 14.492 MB   │ disabled │
└──────────┴────┴──────┴──────┴────────┴─────────┴────────┴─────────────┴──────────┘
 Use `pm2 show <id|name>` to get more details about an app

실행중인 프로세스 보기

$ pm2 list
┌──────────┬────┬──────┬───────┬────────┬─────────┬────────┬─────────────┬──────────┐
│ App name │ id │ mode │ pid   │ status │ restart │ uptime │ memory      │ watching │
├──────────┼────┼──────┼───────┼────────┼─────────┼────────┼─────────────┼──────────┤
│ example  │ 0  │ fork │ 41402 │ online │ 0       │ 71s    │ 34.754 MB   │ disabled │
└──────────┴────┴──────┴───────┴────────┴─────────┴────────┴─────────────┴──────────┘
 Use `pm2 show <id|name>` to get more details about an app

프로세스 상세 내용 보기

$ pm2 show example
Describing process with id 0 - name example
┌───────────────────┬───────────────────────────────────────────────┐
│ status            │ online                                        │
│ name              │ example                                       │
│ node.js version   │ 4.3.0                                         │
│ id                │ 0                                             │
│ path              │ /Users/outsider/temp/app.js                   │
│ args              │ N/A                                           │
│ exec cwd          │ /Users/outsider/temp                          │
│ error log path    │ /Users/outsider/.pm2/logs/example-error-0.log │
│ out log path      │ /Users/outsider/.pm2/logs/example-out-0.log   │
│ pid path          │ /Users/outsider/.pm2/pids/example-0.pid       │
│ mode              │ fork_mode                                     │
│ node v8 arguments │ N/A                                           │
│ watch & reload    │ ✘                                             │
│ interpreter       │ node                                          │
│ restarts          │ 0                                             │
│ unstable restarts │ 0                                             │
│ uptime            │ 3m                                            │
│ created at        │ 2016-02-21T13:41:59.371Z                      │
└───────────────────┴───────────────────────────────────────────────┘
Process configuration

Probes value
┌────────────┬────────┐
│ Loop delay │ 0.92ms │
└────────────┴────────┘