Risposte:
Su Linux: se conosci il PID, puoi catalogare il file cmdline per quel file. Per esempio:
cat /proc/PID/cmdline
Questo probabilmente fallirà se il binario è stato spostato dopo l'avvio del programma.
Ed ovviamente:
lsof -n | grep PID | grep ' txt '
e:
ls -la /proc/PID/exe
che è un collegamento simbolico all'eseguibile.
/proc/PID/cmdline
non ha un carattere newline, quindi probabilmente vorrai fare qualcosa del genere cat /proc/PID/cmdline ; echo ''
.
tr '\0' ' ' < /proc/PID/cmdline ; echo ''
Copia l'id del processo dal ps -e
comando, quindi esegui quanto segue:
ps x | grep <process-id>
Nessuno dei metodi ( ls
, lsof
o cat
) nelle altre risposte funziona per me. Se lo faccio:
$ nano test.txt
Questo è il mio vincitore:
$ pgrep -f -l test
3074 nano test.txt
Oppure, al fine di ottenere solo il PID per usarlo nella programmazione:
$ pgrep -f test
3074
Testato su Kali Linux v1.0.6 (basato su Debian).
Rispetto a un semplice ls
, devo ammettere che non è una soluzione così portatile, ma almeno funziona.