web-dev-qa-db-ja.com

実行中のすべてのpm2アプリのポートはどこにありますか?

PM2がインストールされ、10個のノードアプリが実行されているサーバーがあります。すべてのアプリは異なるポート番号で実行する必要があります。サーバーに新しいアプリをインストールするときに、使用されているポートに関する情報が必要です。 'pm2 list'を使用すると、アプリに関する多くの情報を取得できますが、ポートについては取得できません。

pm2 list

App name       │ id │ version │ mode │ pid   │ status │ restart │ uptime │ cpu  │ mem        │ user │ watching
example_name   │ 1  │ 0.0.0   │ fork │ 25651 │ online │ 0       │ 37D    │ 0%   │ 386.3 MB   │ root │ disabled

使用されているすべてのポートの概要を見つけることができません。また、この重要な情報がPM2によって提供されていないことは信じられません。 PM2で使用されているすべてのポートのリストが表示されるところはありますか?

8
Schmidko

ええ、これはpm2 IMHOで少し失敗しています。サーバーで複数のインスタンス(サイト)が実行されている場合のみ。私が使う:

ss -tnlp | grep node

次に、pm2とポートからpidを確認できます。または、私の場合、実行元のディレクトリのスニペットのみを取得できます。

OPは、ポート番号を実行中のノードアプリの名前に追加したとコメントを追加しましたが、混乱する可能性がありますが、これは良い考えです。

5
wuxmedia

こんにちはSchmidkoでも同じことを試しましたが、pm2にもそのようなオプションが見つかりませんでした。そのため、現在pm2 lからpidを取得し、次のコマンドを使用してLinux OSのポートを取得しています

Sudo netstat -ano -p tcp | grep <PID>

だから私はこのような出力を取得します:tcp6 0 0 ::: 1111 ::: * LISTEN 2111/app.js off(0.00/0/0)

ここで2111/app.jsはPIDであり、::: 1111はポートです

(コメントする権利がないので、ここにコメントを投稿します)

1
Danny Galiyara