Как я могу узнать абсолютный путь запущенного процесса?

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

     % sudo ls -l /proc/PID/exe 

    например:

     % Ps -auxwe |  Grep 24466
     Root 24466 0.0 0.0 1476 280?  S 2009 0:00 контролировать sshd
     % Sudo ls -l / proc / 24466 / exe
     Lrwxrwxrwx 1 корень root 0 Feb 1 18:05 / proc / 24466 / exe -> /package/admin/daemontools-0.76/command/supervise
    

    Один из способов – ps -ef

    Использование:

     pwdx $pid 

    Это дает вам текущий рабочий каталог pid, а не его абсолютный путь.

    Обычно which команда укажет вам, которая вызывается из оболочки:

     #> which vlc /usr/bin/vlc 

    Быстрый ответ – использовать ps с параметрами или информацию о файловой системе /proc . Это обычно работает, но не гарантируется. В общем, нет определенного, гарантированного ответа. Например, что, если исполняемый файл удаляется во время выполнения, так что нет пути к файлу?

    См. Часто задаваемые вопросы по Unix , особенно вопросы 4.3 и 4.4.

    Почему все ожидают, что вы узнаете PID? Вот дружелюбный человек:

     pwdx `pgrep ###process_name###` 

    Вы можете использовать

     readlink /proc/$(pgrep -x -U $(id -ur) APP_NAME)/exe 

    или

     find /proc/$(pgrep -x -U $(id -ur) APP_NAME)/exe -printf "%l\n" 

    Чтобы получить абсолютный путь. PID – это процесс.

    Давайте будем гением компьютера.