プロセス管理

アプリケーションの状態管理

PM2を使用すると、バックグラウンドでアプリケーションを簡単に起動/再起動/リロード/停止/リストできます。

起動

アプリケーションを起動するには

$ pm2 start api.js

image

bashコマンド、スクリプト、バイナリなど、あらゆる種類のアプリケーションを起動することもできます。

$ pm2 start "npm run start"
$ pm2 start "ls -la"
$ pm2 start app.py

起動してログストリームを表示する

--attachオプションを使用して、アプリを起動してログストリームを確認します。

$ pm2 start api.js --attach

Ctrl-Cで終了しても、アプリはバックグラウンドで実行され続けます。

引数の受け渡し

--の後に受け渡されたすべてのオプションはargとしてアプリに受け渡されます。

$ pm2 start api.js -- arg1 arg2

設定ファイル

同時に複数のアプリケーションを管理するか、複数のオプションを指定する必要がある場合は、設定ファイルを使用できます。このecosystem.config.jsファイルを使用した例です。

module.exports = {
  apps : [{
    name   : "limit worker",
    script : "./worker.js",
    args   : "limit"
  },{
    name   : "rotate worker",
    script : "./worker.js",
    args   : "rotate"
  }]
}

次に、両方のアプリを起動します。

$ pm2 start ecosystem.config.js

設定ファイルの詳細についてはこちらを参照してください。

再起動

アプリケーションを再起動するには

$ pm2 restart api

すべてのアプリケーションを再起動するには

$ pm2 restart all

同時に複数のアプリを再起動するには

$ pm2 restart app1 app3 app4

環境変数とオプションの更新

環境変数またはPM2オプションを更新するには、--update-envCLIオプションを指定します。

$ NODE_ENV=production pm2 restart web-interface --update-env

停止

指定したアプリケーションを停止するには

$ pm2 stop api
$ pm2 stop [process_id]

すべて停止するには

$ pm2 stop all

同時に複数のアプリを停止するには

$ pm2 stop app1 app3 app4

注:これはPM2アプリケーションリストからアプリケーションを削除しません。アプリケーションを削除するには、次のセクションを参照してください。

削除

アプリケーションを停止して削除するには

$ pm2 delete api

すべて削除するには

$ pm2 delete all

アプリケーションのリスト

実行中のすべてのアプリケーションをリストするには

$ pm2 list
# Or
$ pm2 [list|ls|l|status]

image

アプリケーションをリストする順序を指定するには

$ pm2 list --sort name:desc
# Or
$ pm2 list --sort [name|id|pid|memory|cpu|status|uptime][:asc|desc]

ターミナルダッシュボード

PM2は、アプリケーションのリソース使用状況を監視する簡単な方法を提供します。メモリとCPUは、ターミナルからすぐに簡単に監視できます。

pm2 monit

アプリケーションのメタデータの表示

アプリケーションに関するメタデータを表示するには

$ pm2 show api

drawing

再起動回数のリセット

再起動カウンタをリセットするには

$ pm2 reset all
このページにコントリビューションする