Se eu puder ver um processo em execução usando ps -e
, como posso encontrar o arquivo que o iniciou?
process
executable
ps
interstar
fonte
fonte
Respostas:
No Linux: se você conhece o PID, pode criar o arquivo cmdline para esse arquivo. Por exemplo:
Isso provavelmente falhará se o binário foi movido após o início do programa.
E claro:
e:
que é um link simbólico para o executável.
fonte
/proc/PID/cmdline
não possui um caractere de nova linha; portanto, você provavelmente desejará fazer algo parecidocat /proc/PID/cmdline ; echo ''
.tr '\0' ' ' < /proc/PID/cmdline ; echo ''
Copie a identificação do processo do
ps -e
comando e execute o seguinte:fonte
Nenhum dos métodos (
ls
,lsof
oucat
) nas outras respostas funciona para mim. Se eu fizer:Este é o meu vencedor:
Ou, para obter apenas o PID para usá-lo na programação:
Testado no Kali Linux v1.0.6 (baseado no Debian).
Comparado a um simples
ls
, devo admitir que não é uma solução tão portátil, mas pelo menos funciona.fonte