在我的 Linux 机器上,输入
pm2 status
显示我
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ memory │ watching │
├──────────────┼────┼──────┼───────┼─────────┼─────────┼────────┼─────────────┼──────────┤
│ gamatrix-dev │ 0 │ fork │ 0 │ stopped │ 0 │ 0 │ 0 B │ disabled │
│ gamatrix │ 1 │ fork │ 22779 │ online │ 10 │ 2D │ 78.793 MB │ disabled │
│ elevacad │ 2 │ fork │ 14106 │ online │ 13 │ 3D │ 36.227 MB │ disabled │
我很确定最后两行是由像
pm2 start someapp.js
这样的命令启动的。有没有办法知道启动该过程的真正值 someapp.js
是什么?
正如评论中提到的,使用
pm2 describe
这将产生类似于以下内容的大量输出:
┌───────────────────┬─────────────────────────────────────────────────────────────────────────────────────┐
│ status │ online │
│ name │ random │
│ namespace │ default │
│ version │ 1.0.0 │
│ restarts │ 0 │
│ uptime │ 107m │
│ script path │ /home/pi/checkout/random-monitor.ts │
│ script args │ N/A │
│ error log path │ /home/pi/.pm2/logs/random-error.log │
│ out log path │ /home/pi/.pm2/logs/random-out.log │
│ pid path │ /home/pi/.pm2/pids/random-1.pid │
│ interpreter │ /home/pi/.nvm/versions/node/v12.19.0/lib/node_modules/pm2/node_modules/.bin/ts-node │
│ interpreter args │ N/A │
│ script id │ 1 │
│ exec cwd │ /home/pi/checkout │
│ exec mode │ fork_mode │
│ node.js version │ 12.19.0 │
│ node env │ N/A │
│ watch & reload │ ✘ │
│ unstable restarts │ 0 │
│ created at │ 2020-11-18T00:17:04.623Z │
└───────────────────┴─────────────────────────────────────────────────────────────────────────────────────┘
interpreter
、interpreter args
、script path
和 script args
应该可以满足您的需求。另请参阅类似问题的此答案。
注意:为了完整起见,实际命令需要您想要了解其信息的进程的名称或参数。在上面的例子中,完整的命令是
pm2 describe random
,其中上面的 random
是进程的名称,您可以从输出中看出。您可以运行 pm2 status
来获取进程列表及其 ID 和名称。
注意:我将上面的命令列为
pm2 describe
,不带参数,以避免剪切和粘贴用户可能混淆的错误消息。我认为指示缺少必需参数的错误消息 pm2 describe
产生的错误消息远不如指示未找到“随机”的消息那么令人困惑,或者如果我将参数列为 name|id
则更糟,这会导致输出通过管道传输到程序 id
可能存在也可能不存在,具体取决于您运行的平台。