Содержание
Обзор: программа Env
Системная программа Env
предназначена для установки параметров запуска и переменных окружения программ. Если программа Env
включена в решение, то процессы, соединенные IPC-каналом с процессом Env
, при своем запуске автоматически отправляют IPC-запросы этой программе и получают параметры запуска и переменные окружения.
Использование системной программы Env
является устаревшим способом установки параметров запуска и переменных окружения программ. Установку параметров запуска и переменных окружения программ нужно выполнять через файл init.yaml.in
или init.yaml
.
Если значение параметра запуска или переменной окружения программы задано как через программу Env
, так и через файл init.yaml.in
или init.yaml
, то будет применяться значение, заданное через программу Env
.
Чтобы использовать программу Env
в решении, необходимо:
- Разработать код программы
Env
, используя макросы и функции из заголовочного файлаsysroot-*-kos/include/env/env.h
из состава KasperskyOS SDK. - Собрать исполняемый файл программы
Env
, скомпоновав его с библиотекойenv_server
из состава KasperskyOS SDK. - В init-описании указать, что необходимо запустить процесс
Env
и соединить с ним другие процессы (Env
при этом является сервером). Имя IPC-канала задается макросомENV_SERVICE_NAME
, определенным в заголовочном файлеenv.h
. - Включить исполняемый файл
Env
в образ решения.
Исходный код программы Env
В исходном коде программы Env
используются следующие макросы и функции из заголовочного файла env.h
:
ENV_REGISTER_ARGS(name,argarr)
– установить параметры запускаargarr
для программы, которая будет исполняться в контексте процесса с именемname
.ENV_REGISTER_VARS(name,envarr)
– установить переменные окруженияenvarr
для программы, которая будет исполняться в контексте процесса с именемname
.ENV_REGISTER_PROGRAM_ENVIRONMENT(name,argarr,envarr)
– установить параметры запускаargarr
и переменные окруженияenvarr
для программы, которая будет исполняться в контексте процесса с именемname
.envServerRun()
– инициализировать серверную часть программыEnv
, чтобы она могла отвечать на IPC-запросы.
Примеры использования программы Env
В начало