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

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

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 , я должен признать, что это не так портативное решение, но, по крайней мере, оно работает.

  • Почему pgrep не может найти скрипты, запущенные через env?
  • Можно ли добавить описание к виртуальным машинам qemu?
  • Ищите процесс с заданным именем
  • Странное поведение «ps -o pgid»
  • Что указывает этот STAT-процесс?
  • Вычисление процессорного времени процесса в RHEL 5.3
  • «Ps» вывод и комментарии
  • Запретить запуск процессов автоматически
  • Вывод PS-файла в текстовый файл
  • Что значит '?' представлять под TTY
  • Что означает `init ` в столбце COMMAND ps?
  • Использование регулярного выражения для проверки того, работает ли процесс UNIX
  • Linux и Unix - лучшая ОС в мире.