Как я определяю путь к двоичному файлу процесса?

Существует ли способ узнать местоположение каталога/диска, с которого был запущен процесс? Я знаю о/proc, монтируются, но не действительно, где посмотреть в нем.

30
задан 16 June 2011 в 05:08

5 ответов

/proc путь состоял бы в том, чтобы осмотреть exe ссылка в каталоге, соответствующем pid.

Давайте возьмем пример с update-notifier:

Найдите pid, который является 15421 в этом примере:

egil@gud:~$ ps x | grep update-notifier
 2405 pts/4    S+     0:00 grep update-notifier
15421 ?        Sl     0:00 update-notifier

Ищите символьную ссылку:

egil@gud:~$ file /proc/15421/exe
/proc/15421/exe: symbolic link to `/usr/bin/update-notifier'
37
ответ дан 23 November 2019 в 00:46

Возможно, which то, что Вы ищете. Например, в моей системе

which firefox 

возвраты

/usr/bin/firefox

См. также Находят Путь Приложения, Работающего на Солярисе, Ubuntu, SuSe или Redhat Linux.

15
ответ дан 23 November 2019 в 00:46

Если Вы имеете идентификатор процесса в наличии, можно использовать:

readlink -f /proc/$pid/exe

(замена $pid идентификатором процесса процесса)

Если процесс не принадлежит Вам, необходимо будет поместить sudo перед ним.

Пример для определения местоположения команды firefox:

  1. Вывод ps ax -o pid,cmd | grep firefox :

    22831 grep --color=auto firefox
    28179 /usr/lib/firefox-4.0.1/firefox-bin
    
  2. 28179 идентификатор процесса, таким образом, необходимо работать:

    readlink -f /proc/28179/exe
    

    какие выводы:

    /usr/bin/firefox
    
6
ответ дан 23 November 2019 в 00:46

Нажмите Ctrl+Alt+T для движения в терминал и тип:

ls -al /proc/{pid}/fd  

и затем проверьте вывод

Это перечислит все файлы, с которыми связан Ваш процесс...

1
ответ дан 23 November 2019 в 00:46

Все команды в других ответах хороши, но Вы могли сделать еще более - видящий, как некоторый процесс был на самом деле выполнен, прежде чем это добралось до списка процессов.

Выполненный в терминале:

top

И в то время как это работает, нажмите клавиатуру C и Вы получите команду процессов, которая была выполнена.

0
ответ дан 23 November 2019 в 00:46

Другие вопросы по тегам:

Похожие вопросы: