节点运行在哪个目录?

节点运行在哪个目录?

在试图弄清楚某个侦听端口的应用程序如何8088运行时,我看到它有 PID 15020

$ netstat -ntulp
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:7070            0.0.0.0:*               LISTEN      17593/node      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:8088            0.0.0.0:*               LISTEN      15020/node      
tcp6       0      0 :::22                   :::*                    LISTEN      -               
tcp6       0      0 :::8983                 :::*                    LISTEN      14995/java      
udp        0      0 0.0.0.0:68              0.0.0.0:*                           -               

我可以看到它是一个Node.js应用:

$ ps aux | grep 15020
ubuntu   15020  0.0  0.8 670940 32764 pts/4    Sl+  15:58   0:00 node app.js
ubuntu   15367  0.0  0.0   8080   620 pts/8    S+   16:33   0:00 grep --color=auto 15020

现在,我怎样才能找到它在哪里运行?我没有看到任何screen会话tmux正在运行。设计此作品的创意人士无法发表评论。下一步会怎样?我确实运行了find / -name app.js,返回了几十个结果,并非所有结果都是彼此不同的版本!

对每个找到的app.js文件进行 Grep 查找我在 8088 界面上返回的文本,结果显示大多数文件都匹配。合理的下一个故障排除步骤是什么?

答案1

您可以尝试使用 PID 运行 lsof,但很可能该文件在运行时被应用程序打开,但随后没有保持打开状态;

lsof -p 15020 | grep app.js

或者,您可以跟踪应用程序并查看输出以获取文件的完整路径;

strace -p 15020

相关内容