Em qual diretório o nó está sendo executado?

1

Ao tentar descobrir como algum aplicativo que escuta na porta 8088 está em execução, vejo que ele tem 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:*                           -               

Posso ver que é uma aplicação 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

Agora, como posso encontrar onde está sendo executado? Não vejo nenhuma screen ou tmux sessões em execução. A pessoa criativa que projetou isso não está disponível para comentar. Qual seria o próximo passo? Eu corri find / -name app.js e isso retornou algumas dezenas de resultados, nem todos eles são versões diferentes um do outro!

Grepping de cada um desses arquivos app.js encontrados para o texto que eu vejo retornado na interface do 8088 mostra que a maioria deles corresponde. Qual seria a próxima etapa de solução de problemas lógica?

    
por dotancohen 14.12.2014 / 17:36

1 resposta

1

Você pode tentar executar lsof com o PID, mas é provável que o arquivo tenha sido aberto em tempo de execução pelo aplicativo, mas não seja mantido aberto;

lsof -p 15020 | grep app.js

Como alternativa, você poderia rastrear o aplicativo e procurar na saída o caminho completo para o arquivo;

strace -p 15020

    
por 14.12.2014 / 17:52