Відповіді:
У Linux: якщо ви знаєте PID, ви можете ввести файл cmdline для цього файлу. Наприклад:
cat /proc/PID/cmdline
Це, ймовірно, не вдасться, якщо бінарний файл було переміщено після запуску програми.
І звичайно:
lsof -n | grep PID | grep ' txt '
і:
ls -la /proc/PID/exe
що є символічним посиланням на виконуваний файл.
/proc/PID/cmdline
він не має символу нового рядка, тому ви, ймовірно, захочете зробити щось на кшталт cat /proc/PID/cmdline ; echo ''
.
tr '\0' ' ' < /proc/PID/cmdline ; echo ''
Скопіюйте ідентифікатор процесу з ps -e
команди та виконайте наступне:
ps x | grep <process-id>
Жоден з методів ( ls
, lsof
або cat
) в інших відповідей не працює для мене. Якщо я:
$ nano test.txt
Це мій переможець:
$ pgrep -f -l test
3074 nano test.txt
Або, щоб отримати тільки PID, щоб використовувати його в програмуванні:
$ pgrep -f test
3074
Тестовано на Kali Linux v1.0.6 (на базі Debian).
У порівнянні з простим ls
, мушу визнати, це не настільки портативне рішення, але принаймні воно працює.