2016-10-24 8 views
1

Я несколько опытен в системах d, а именно в файлах блоков и т. Д. Теперь у меня есть требование, поскольку мой файл Unit A должен зависеть от B, если некоторые критерии выполнены (скажем, какое-то значение varibake), иными зависимыми на файле или службе C.Зависимость от файлов службы systemd

Эта функция доступна в systemd?

+1

Нет такой функции условной зависимости в файле unitd unit. – Saturn

ответ

0

Вы можете написать свои зависимые службы в файл и назначить на окр вар, например, в /etc/foo/bar.env

BAR_DEPENDENCIES=apple banana cereal 

А затем в файле bar.service,

EnvironmentFile=/etc/foo/bar.env 
ExecStartPre=/usr/bin/systemctl start $BAR_DEPENDENCIES 
ExecStart=/opt/foo/bar.exe 

Начнётся apple, banana и cereal услуг. Вы можете изменить файл /etc/foo/bar.env программно, прежде чем запускать услугу bar для добавления или удаления служб.

Я также использовал справочную службу для записи файла окружения и указал, что служба справки как Requires= в главной службе, так что она запускается перед основной службой.