Главная » Java » Переменные окружения процесса

0

 

  Две другие перегруженные версии метода Runtime.exec позволяют задавать множество переменных окружения (environment variables) процесса, которые далее могут считываться процессом по его "усмотрению". Переменные окружения передаются методу exec в виде массива типа String: каждый элемент массива содержит строку, задающую наименование и значение переменной в формате наименование=значение. В наименовании не должны использоваться символы пробела каких бы то ни было видов, но в роли значения может выступать произвольная строка. Массив переменных окружения задается в качестве второго параметра, как показано ниже.

 

public Process exec(String[]  cmdArray,  string[]  env)

   throws  IOException

public Process exec(string command,  String[]  env)

      throws IOException

 

Вариант метода exec с одним параметром подразумевает, что в качестве массива переменных окружения задается null — это значит, что дочерний процесс "наследует" множество переменных окружения родительского процесса.

   Способ интерпретации переменных окружения программой дочернего процесса зависит от особенностей операционной системы. Переменные могут содержать самую разнообразную информацию — например, имя текущего пользователя системы, наименование текущего рабочего каталога, перечень путей поиска и т.п. Практическое воплощение механизма поддержки переменных окружения в Java обусловлено тем, что такие переменные широко используются существующими приложениями, работающими на самых разных аппаратно-программных платформах. Значения переменных окружения легко получить средствами метода getProperties класса System (см. раздел 18.1.2) (ранее применявшийся для этой цели метод System.getenv современными версиями Java SDK не поддерживается).

  Существуют и два варианта метода exec (они приведены ниже), которые позволяют задать исходное значение рабочего каталога дочернего процесса.

 

public Process exec(String[]  cmdArray,  string[]  env,   File dir)

  throws IOException public Process exec(string command,  string[]  env,   File dir)

throws IOException

 

При создании дочернего процесса с помощью любого из двух названных методов Исходным рабочим каталогом процесса становится каталог, описанный параметром di г. Варианты метода exec с одним и двумя параметрами подразумевают, что в качестве значения dir задается null — в подобных случаях дочерний процесс "наследует" рабочий каталог родительского процесса, наименование которого хранится в виде системного свойства user.dir.

 

Источник: Арнолд, Кен, Гослинг, Джеймс, Холмс, Дэвид. Язык программирования Java. 3-е изд .. : Пер. с англ. – М. : Издательский дом «Вильяме», 2001. – 624 с. : ил. – Парал. тит. англ.

По теме:

  • Комментарии