Как получить следующую информацию о запущенном процессе Linux:
- переменные среды оболочки
- рабочий каталог
- параметры командной строки
решение1
Эту информацию вы можете получить здесь/процфайловая система, в ней хранится информация о запущенных процессах.
cat /proc/<pid>/environ
cd /proc/<pid>/cwd; pwd -P
cat /proc/<pid>/cmdline
решение2
Если вывести среду, как предлагает @atype, вы получите все переменные среды и их значения, объединенные без разделителя.
Для лучшего вывода используйте
$ xargs -0 -L 1 echo < /proc/21645/environ
LANG=en_US.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
SHELL=/bin/bash
TERM=xterm
LC_MESSAGES=en_US.UTF-8
LANGUAGE=en_US.UTF-8
(вывод сокращен в целях конфиденциальности)
Объяснение
/proc/$pid/environ содержит переменные среды в виде списка, разделенного нулем.
xargs — это инструмент для чтения произвольно длинного списка из *STDIN и передачи его элементов инструменту (в данном случае echo), гарантируя, что не будет превышена максимальная длина командной строки. Параметр "-0" переключает xargs на использование null в качестве разделителя элементов (вместо пробела по умолчанию или новой строки), параметр "-L 1" ограничивает количество элементов до 1. Таким образом, каждая переменная окружения выводится на новой строке.