Если я вижу процесс, использующий использование ps -e
, как я могу найти файл, который запустил его?
process
executable
ps
Interstar
источник
источник
Ответы:
В Linux: если вы знаете PID, вы можете указать файл cmdline для этого файла. Например:
Это может произойти сбой, если двоичный файл был перемещен после запуска программы.
И конечно:
и:
которая является символической ссылкой на исполняемый файл.
источник
/proc/PID/cmdline
нет символа новой строки, поэтому вы, вероятно, захотите сделать что-то подобноеcat /proc/PID/cmdline ; echo ''
.tr '\0' ' ' < /proc/PID/cmdline ; echo ''
Скопируйте идентификатор процесса из
ps -e
команды, а затем выполните следующее:источник
Ни один из методов (
ls
,lsof
илиcat
) в других ответов не работает для меня. Если я сделаю:Это мой победитель
Или, чтобы получить только PID, чтобы использовать его в программировании:
Протестировано на Kali Linux v1.0.6 (на основе Debian).
По сравнению с простым
ls
, я должен признать, что это не очень портативное решение, но, по крайней мере, оно работает.источник