LINUX.ORG.RU

История изменений

Исправление makoven, (текущая версия) :

Мало того, что у тебя неверные представления о возможностях декларативности

Собственно, я systemd и полюбил когда понадобилось запускать свою програму в виде сервиса. Програма ничего не делает чтобы ствть демоном - не форкается, не хранит PID. Долго курил sysvinit - не осилил. Первый юнит-файл написал за неделю (после прочтения всего блога Лёни и манов). Второй - за 5 минут) Получил автоматический рестарт при зависании и превышении порога памяти, сокет-активацию, правильное управление зависимостями (от двух других програм). И еще некоторые приятные плюшки. И все это в файлах несколько строчек каждый. Которые работают в арчике и федоре без изменений.

так ты еще и не знаешь, что в юниты можно встраивать код на shell (и его встраивают)

У меня опции qemu прям в юнит-файлы встроены. В системе такого не встречал. Три файла с /bin/sh нашлось из 292:

grep -rn /usr/lib/systemd/system -e «\/bin\/sh»
/usr/lib/systemd/system/emergency.service:21:ExecStart=-/bin/sh -c «/sbin/sulogin; /usr/bin/systemctl --fail --no-block default»
/usr/lib/systemd/system/rescue.service:21:ExecStart=-/bin/sh -c «/sbin/sulogin; /usr/bin/systemctl --fail --no-block default»
/usr/lib/systemd/system/debug-shell.service:17:ExecStart=/bin/sh

Исходная версия makoven, :

Мало того, что у тебя неверные представления о возможностях декларативности

Собственно, я systemd и полюбил когда понадобилось запускать свою програму в виде сервиса. Програма ничего не делает чтобы ствть демоном - не форкается, не хранит PID. Долго курил sysvinit - не осилил. Первый юнит-файл написал за неделю (после прочтения всего блога Лёни и манов). Второй - за 5 минут) Получил автоматический рестарт при зависании и превышении порога памяти, сокет-активацию, правильное управление зависимостями (от двух других програм). И еще некоторые приятные плюшки.

так ты еще и не знаешь, что в юниты можно встраивать код на shell (и его встраивают)

У меня опции qemu прям в юнит-файлы встроены. В системе такого не встречал. Три файла с /bin/sh нашлось из 292:

grep -rn /usr/lib/systemd/system -e «\/bin\/sh»
/usr/lib/systemd/system/emergency.service:21:ExecStart=-/bin/sh -c «/sbin/sulogin; /usr/bin/systemctl --fail --no-block default»
/usr/lib/systemd/system/rescue.service:21:ExecStart=-/bin/sh -c «/sbin/sulogin; /usr/bin/systemctl --fail --no-block default»
/usr/lib/systemd/system/debug-shell.service:17:ExecStart=/bin/sh