Есть ли способ динамически назначать переменные среды в файле системного модуля службы?
У нас есть машина с 4 графическими процессорами, и мы хотим увеличить количество экземпляров определенного сервиса на один графический процессор. Например:
- gpu_service @ 1: 1.service
- gpu_service @ 2: 1.service
- gpu_service @ 3: 1.service
- gpu_service @ 4: 1.service
- gpu_service @ 1: 2.Service
- gpu_service @ 2: 2.Service
- gpu_service @ 3: 2.Service
- gpu_service @ 4: 2.Service
- до тошноты
Таким образом, 1: 1, 2: 1 и т. Д. Фактически являются% i в файле единицы обслуживания.
Чтобы служба связывалась с конкретным графическим процессором, исполняемый файл службы проверяет определенную переменную среды, например:
USE_GPU=4
Есть ли способ, которым я могу взять% i внутри файла сервисного модуля и запустить его через некоторую (shell) функцию для получения номера GPU, а затем я могу соответственно установить переменную среды USE_GPU?
Самое главное, я не хочу, чтобы написание нескольких /etc/systemd/system/gpu_service@x:y.service/local.conf
файлов было просто так, чтобы я мог раскрутить больше экземпляров.