Как получить имя исполняемого файла, который запустил текущую работающую базу данных Oracle и относительный путь к ORACLE_HOME

ps -ef | grep [p]mon | awk '{print $2}' | xargs -I {} ps eww {} | awk '{print $1 " " $5 " " $6 " " $0}' | sed 's/\(S*\) \(S*\) .*ORACLE_HOME/\1 \2/g' | cut -f1,2,3 -d" "


Команда ps -ef выводит список всех запущенных процессов в системе с подробной информацией. Затем команда grep [p]mon фильтрует этот список, оставляя только процессы, содержащие «[p]mon» в своем имени. Команда awk ‘{print $2}’ извлекает второе поле (PID) из каждой строки вывода.

Далее команда xargs -I {} ps eww {} вызывает команду «ps eww» для каждого PID, переданного ей через стандартный ввод. Команда awk ‘{print $1 » » $5 » » $6 » » $0}’ добавляет к выводу информацию о PID, имени исполняемого файла и относительном пути к ORACLE_HOME.

Команда sed ‘s/\(S*\) \(S*\) .*ORACLE_HOME/\1 \2/g’ заменяет строку, содержащую «ORACLE_HOME», на два первых поля строки (разделенных пробелом).

Наконец, команда cut -f1,2,3 -d» » выбирает первые три поля (разделенные пробелом) из каждой строки вывода.

Альтернативный способ получить имя исполняемого файла и относительный путь к ORACLE_HOME может быть использование команды ps с опцией -o для выбора нужных полей и фильтрация вывода с помощью grep. Например, команда «ps -eo pid,comm,args | grep [p]mon» может быть использована для получения информации о процессах с «[p]mon» в имени. Затем можно использовать awk или sed для обработки вывода и извлечения нужных полей.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *