Мне нужно запустить внешнюю программу из службы systemd за пределами текущей cgroup. Я нашел инструмент systemd-run
, который, вероятно, решит эту проблему, но я застрял в systemd версии 204, где он еще недоступен. Есть ли другое решение?
Моя проблема подробнее:
Приложение включено в пакет Debian и будет установлено и запущено как служба systemd. Позже эта служба загружает более новую версию приложения и запускает dpkg -i myapplication.deb
. Служба должна быть остановлена во время установки обновления, но она не остановится, пока не закончатся все процессы в cgroup. Теперь у нас тупик, потому что dpkg
работает в этой контрольной группе. По истечении тайм-аута остановки службы dpkg
уничтожается, а обновление не устанавливается.