это команда для просмотра пути процесса в Linux
ps -auxwe | grep 24466 ( 24466 is only example )
но пожалуйста, посоветуйте, возможно ли просмотреть путь запущенного процесса на Solaris
если да, то каков синтаксис ps для Solaris?
решение1
Вы можете использовать pwdx в Solaris и Linux.
pwdx<pid_number>
пример:
pwdx $$
25711: /export/home/pippo
решение2
Как узнать абсолютный путь запущенного процесса?
Если под «абсолютным путем» вы подразумеваете полный путь к работающему двоичному файлу, то это работает на моей установленной копии Solaris 11:
pmap PID | grep -v ':' | head 1 | awk '{ print $4 }'
Замените PID
на идентификатор интересующего вас процесса.
pmap
выдает карту адресов процесса, включая полный путь исходного файла для отображения. Это включает в себя фактический двоичный файл, который является первымкартографированиестрока вывода. Первая строка вывода содержит идентификатор процесса и аргументы процесса. Обратите внимание, что аргументы процесса недостаточны для полной идентификации полного пути к запущенному исполняемому файлу. Первые несколько строк фактических сопоставлений адресного пространства являются сопоставлениями из фактического исполняемого двоичного файла, перечисленного с полным, абсолютным путем двоичного файла.
К сожалению, вам нужен доступ на чтение карты процесса, чтобы получить эту информацию. Я не знаю способа получить то, что вы ищете, без этого доступа.
Редактировать: Также есть /proc/[PID]/path/a.out
Solaris 11, который является мягкой ссылкой на фактический двоичный файл:
В Баше:
bash-4.1$ readlink /proc/$$/path/a.out
/usr/bin/bash
Обратите внимание, что это /proc/$$/path/a.out
лучше, чем /proc/self/path/a.out
:
bash-4.1$ readlink /proc/self/path/a.out
/usr/bin/readlink
К сожалению, если у вас нет доступа к карте процессов через pmap
, у вас, скорее всего, не будет доступа и к /proc/[PID]/path/a.out
, поскольку все разрешения /proc/[PID]/path
для моей установки Solaris 11 равны 500 — только владелец и пользователь root имеют права на чтение и выполнение в этом каталоге.
решение3
/usr/ucb/ps auxwwww | grep 6851 сработал у меня на SunOS servername01 5.10 Generic_147440-25 sun4u sparc SUNW,Sun-Fire-V490