查找与 运行 Node.js 进程 PID 关联的文件

Finding the file associated with a running Node.js process PID

我安装了一个主要在 Node.js 上运行的企业应用程序来提供数据。它是 CentOS 盒子上的一个设备。它在不同的端口上同时有许多不同的 node.js 应用程序 运行。例如,有一个在端口 4000 上运行的管理页面,一个在 4200 端口上运行的用户仪表板等。这值得注意,因为我将新的 API 端点注入服务器文件以向用户。为避免 CORS,我需要从用户当前访问的同一端口提供数据(使用 JSONP 对 IE 来说很烦人且不可靠)。

基本上我需要找到在端口 4000 上提供数据的主要 server.js 文件(或任何可能命名的文件)。我尝试了 json/js 文件的简单文本匹配使用 grep --include=*.{js,json} -rw '/folderWhereAppRuns' -e "4000" 但这会带回太多文件来筛选。对 "express()" 的类似搜索主要返回用于表达依赖项的节点模块文件。

所以我在端口 4000 上找到了进程 运行 的 PID 并将其插入 pwdx,但这只会带回我希望服务器文件所在的根目录.虽然这个目录中有太多子文件夹,但它对我没有多大好处。我想知道服务器文件的确切位置和文件名。

你应该 运行 首先:

netstat -anp 2> /dev/null | grep :4000 | egrep -o "[0-9]+/node" | cut -d'/' -f1

你将从中得到 pid 那么你 运行:

ps -p $PID -o command