Systemd использует cgroups для этого.Перед запуском любого исполняемого файла, определенного в служебном файле, systemd создает группу и помещает в нее исполняемый файл [*].После этого не имеет значения, сколько дочерних процессов или сколько раз процессы в cgroup разветвлялись.Для systemd все они принадлежат одной и той же группе.
Еще одна полезная вещь: когда родительский процесс умирает, дочерние процессы этого родительского процесса наследуют PID 1 (systemd) как их родительский процесс.Это правило Unix.
[] Система сначала создает группу.Затем разветвляется и помещает новый процесс в эту группу.Затем вызывает exec () семейство вызовов для ExecStart = двоичного файла вашего сервиса.