Если я вижу процесс, использующий ps, как я могу найти исполняемый файл?

Если я могу увидеть процесс, использующий ps -e , как я могу найти файл, который запустил его?

  • PID PID некоторых процессов UNIX в ls -l
  • Что означает `init ` в столбце COMMAND ps?
  • Как сделать Ubuntu Linux 16.10 системным монитором?% Загрузка процессора согласуется с ps или top для процесса Firefox на четырехъядерном процессоре?
  • Получение переходного PID из входа в поиск PS до его смерти
  • Среди полей вывода команды «ps»% CPU не является фактическим использованием ЦП в этом процессе?
  • «Ps» вывод и комментарии
  • Конвертировать PDF из цветового пространства sRGB в CMYK
  • Каков наилучший способ определить рабочий каталог для процесса UNIX с помощью «ps»?
  • 3 Solutions collect form web for “Если я вижу процесс, использующий ps, как я могу найти исполняемый файл?”

    В Linux: если вы знаете PID, вы можете отправить файл cmdline для этого файла. Например:

     cat /proc/PID/cmdline 

    Вероятно, это произойдет, если двоичный файл был перенесен после запуска программы.

    И, конечно же,

     lsof -n | grep PID | grep ' txt ' 

    а также:

     ls -la /proc/PID/exe 

    который является символической ссылкой на исполняемый файл.

    Скопируйте идентификатор процесса из команды ps -e а затем выполните следующее:

     ps x | grep <process-id> 

    Ни один из методов ( ls , lsof или cat ) в других ответах не работает для меня. Если я сделаю:

     $ nano test.txt 

    Это мой победитель:

     $ pgrep -f -l test 3074 nano test.txt 

    Или, чтобы получить только ПИД-код для его использования в программировании:

     $ pgrep -f test 3074 

    Протестировано на Kali Linux v1.0.6 (на основе Debian).
    По сравнению с простым ls , я должен признать, что это не так портативное решение, но, по крайней мере, оно работает.

    Linux и Unix - лучшая ОС в мире.