리눅스 pm2: Difference between revisions

From IT Wiki
No edit summary
No edit summary
Line 3: Line 3:


리눅스에서 Node.js 프로그램을 데몬으로 구동하기 위한 프로세스 관리 도구
리눅스에서 Node.js 프로그램을 데몬으로 구동하기 위한 프로세스 관리 도구
== 설치 ==
* 명령어로 사용되어야 하므로 npm -g를 이용해 전역으로 설치한다.
<pre>
$ npm install pm2 -g
$ pm2 version
1.0.1
</pre>
== 프로세스 실행 ==
* node 프로세스를 데몬으로 실행한다.
<pre>
$ 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
</pre>
== 실행중인 프로세스 보기 ==
<pre>
$ 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
</pre>
== 프로세스 상세 내용 보기 ==
<pre>
$ 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 │
└────────────┴────────┘
</pre>

Revision as of 00:50, 21 April 2020

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 │
└────────────┴────────┘