Respostas:
No Linux: se você conhece o PID, pode criar o arquivo cmdline para esse arquivo. Por exemplo:
cat /proc/PID/cmdline
Isso provavelmente falhará se o binário foi 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.
/proc/PID/cmdline
não possui um caractere de nova linha; portanto, você provavelmente desejará fazer algo parecido cat /proc/PID/cmdline ; echo ''
.
tr '\0' ' ' < /proc/PID/cmdline ; echo ''
Copie a identificação do processo do ps -e
comando e execute o seguinte:
ps x | grep <process-id>
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, para obter apenas o PID para usá-lo na programação:
$ pgrep -f test
3074
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.