Но иногда проще и быстрее написать скрипт, который уже дёргается из юнита. Недавно как раз писал такой. Есть фреймворк, который запускает от одного до бесконечности бекэндов. Я так и не осилил удобный юнит для этого написать. Стало лень разбираться. Написал скрипт, который смотрит в /etc/default/servicename, ищет там переменную BACKENDS="foo bar baz ..." и запускает их в цикле(само собой там всякие проверки, пиды и прочее учитывается). Сам скрипт дёргается уже в юните. Костыль, конечно, зато быстро и надёжно. Если кто знает, как такое же просто реализовать в systemd без скрипта, было бы интересно посмотреть.