Обзор: программа Env

02 августа 2023

ID env_overview

Служебная программа Env предназначена для передачи аргументов и переменных окружения запускаемым процессам. При запуске каждый процесс автоматически отправляет запрос процессу Env и получает необходимые данные.

Обращение процесса к Env переопределяет аргументы и переменные окружения, полученные через Einit.

Чтобы использовать программу Env в своем решении, необходимо:

1. Разработать код программы Env, используя макросы из env/env.h.

2. Собрать бинарный файл программы Env, скомпоновав ее с библиотекой env_server.

3. В init-описании указать, что необходимо запустить процесс Env и соединить с ней выбранные процессы (Env при этом является сервером). Имя канала задается макросом ENV_SERVICE_NAME, объявленным в файле env/env.h.

4. Включить бинарный файл Env в образ решения.

Код программы Env

В коде программы Env используются следующие макросы и функции, объявленные в файле env/env.h:

  • ENV_REGISTER_ARGS(name,argarr) – передать процессу с именем name аргументы из массива argarr (максимальный размер одного элемента – 256 байтов);
  • ENV_REGISTER_VARS(name,envarr) – передать процессу с именем name переменные окружения из массива envarr (максимальный размер одного элемента – 256 байтов);
  • ENV_REGISTER_PROGRAM_ENVIRONMENT(name,argarr,envarr) – передать процессу с именем name как аргументы, так и переменные окружения;
  • envServerRun() – инициализировать серверную часть программы Env, чтобы она могла отвечать на запросы.

Примеры использования Env

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!