I have a server with PM2 installed and 10 running node apps. Every App should run with a different port number. When I install a new App on the server I need the information about the used ports. With 'pm2 list' I get much info about the apps but not the port.
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
I can not find a overview of all used ports and I can't believe that this important information is not given by PM2. Does anyone have any idea where I see a list with all used ports in PM2?
Yeah this is a bit of a failing with pm2 IMHO. Only when you have more than one instance (site) running on the server. I use:
ss -tnlp | grep "node /"
You can then eyeball the pid from pm2 and the port, or in my case you get just a snippet of the directory it's running from. UPDATE: you can use this monstrosity:
ss -ntlp | grep $(pm2 ls | grep "SITENAME" | awk '{print $10}') | awk '{print $4}'
Which dumps the port out.
The OP added a comment saying he added the port number into the name of the running node app, which could get messy, but is a good idea.