Se eu ver um processo em execução usando ps, como posso encontrar o executável?

10

Se eu puder ver um processo em execução usando ps -e , como posso encontrar o arquivo que o lançou?

    
por interstar 29.12.2011 / 13:46

3 respostas

14

No Linux: se você conhece o PID, você pode catar o arquivo cmdline para esse arquivo. Por exemplo:

cat /proc/PID/cmdline

Isso provavelmente falhará se o binário for movido após o início do programa.

E claro:

lsof -n | grep PID | grep ' txt '

e:

ls -la /proc/PID/exe

que é um link simbólico para o executável.

    
por 29.12.2011 / 14:01
1

Copie o ID do processo do comando ps -e e execute o seguinte:

ps x | grep <process-id>
    
por 29.12.2011 / 14:12
0

Nenhum dos métodos ( ls , lsof ou cat ) nas outras respostas funciona para mim. Se eu fizer:

$ nano test.txt

Este é o meu vencedor:

$ pgrep -f -l test
3074 nano test.txt

Ou, a fim de obter apenas o PID para usá-lo na programação:

$ pgrep -f test
3074

Testado no Kali Linux v1.0.6 (baseado em Debian).
Comparado a um simples ls , devo admitir que não é uma solução tão portátil, mas pelo menos funciona.

    
por 10.04.2014 / 17:06