Dear systemd developers, I failed to get the answer to my question from other sources, so here I am. We have a software that consist out of many components. Each component is a single service, let say A.service, B.service, C.service However, often you want to be able to start and stop them together. There are two options that I am aware of: a grouping service of a grouping target. I have tried both of them and both works. as service: # mygroup.service [Unit] Description=My handy group as service [Service] Type=oneshot ExecStart=/bin/true ExecReload=/bin/true RemainAfterExit=on [Install] WantedBy=default.target as target: # mygroup.target [Unit] Description=My handy group as target [Install] WantedBy=default.target The option with service looks (and sounds) very natural, however feels quite synthetic: Type=oneshot ExecStart=/bin/true ExecReload=/bin/true RemainAfterExit=on with corresponding status and deps Active: active (exited) since Wed 2020-07-08 09:37:41 CEST; 1min 8s ago Process: 2551 ExecStart=/bin/true (code=exited, status=0/SUCCESS) Main PID: 2551 (code=exited, status=0/SUCCESS) $ systemctl list-dependencies mygroup.service mygroup.service ● ├─mygroup@A.service ● ├─mygroup@B.service ● ├─mygroup@C.service ● ├─system.slice ● └─basic.target ● ├─firewalld.service ... The target based solution doesn't have this artificial service, but sounds too official - *target*. Active: active since Wed 2020-07-08 10:30:03 CEST; 6s ago $ systemctl list-dependencies mygroup.target mygroup.target ● ├─mygroup@A.service ● ├─mygroup@B.service ● └─mygroup@C.service What is the best practice of doing this? Thanks in advance, Tigran. _______________________________________________ systemd-devel mailing list systemd-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/systemd-devel