在开发节点ExpressJS应用程序时,我已经看到了示例代码,指定服务器应该监听process.env.PORT ||我明白这一点。如果环境有一个PORT设置,那么应用程序会选择它,如果不是,它会使用端口80.由于我配置了服务器,我可以控制它并且知道我设置的那个。
然而,能够访问我的一台服务器并发出命令以查看所有正在运行的节点应用程序及其已打开的端口对我来说仍然有用。 这可能吗?
部分原因是受到另一个令人担忧的问题的启发。在我的本地计算机上,我运行端口监视器以确保安全性,并注意到我的节点应用程序调用外部站点。我还没有对它进行过多次调查,但我认为它现在已成为模块和构建工具的一种东西,可以调用它们以便开发人员可以收集使用指标。在开发过程中不是一个大问题,但如果我可以跟踪我的节点应用程序所做的连接,它将有助于识别其中使用的可能作为各种信标的包。
答案 0 :(得分:0)
在Linux下,您可以执行以下操作:
sudo netstat -nap | grep node
打印进程名称的-p选项是特定于Linux的。另一种选择是lsof。这应该适用于安装了lsof的任何系统:
sudo lsof -iTCP -sTCP:LISTEN -a -c node