> Как остановить запущеный процесс?А как запущеный процесс? И в какой ОС? Иначе вопрос не имеет смысла.
Можно ли запустить в linux'е процесс в сигруппе и потом прибить все пиды из неё из скрипта, а не с помощью systemd? Риторический вопрос.
Если вопрос про rc-скрипты какой-то конкретной ОС, почему бы не открыть код, да не посмотреть? Опенсорс же.
> Пид файлы и подобные костыли не предлагать.
В зависимости от ответов не первые вопросы и от того, какая именно задача решается, ответ может быть разный. Начиная от "найти нужный процесс в списке процессов, по имени+cmdline и убить" и "дать возможность в скрипте определить свою функцию rc_stop() если мы хотим странного", заканчивая использованием средств контейнеризации ("убить" cgroup/jail/etc) или отправкой команды процессу-супервизору демона остановить сервис (привет, daemontools и друзья).
Вообще, разговор "скрипты vs конфиги" в контексте кастомизации процесса запуска сервисов - он не про надёжную (и/или гарантированную) остановку сервиса, а про способ описания логики запуска/остановки сервиса (ВНЕЗАПНО). Запускать процессы в тех же сигруппах заскриптованная на шелле логика никак не мешает - файловое api сигруп это позволяет. Хотя написать обвязку практичнее (и я не про systemd - он сильно больше, чем cli для cgroup, очевидно).
И да, это, systemd с его использованием линуксовых сигрупп тоже не даёт гарантий - cgroup'а процесса может измениться (например, другим запущенным менеджером сигрупп или третьим лицом).