O systemd possui excelente documentação. Veja a página nos arquivos de serviço :
If set to forking, it is expected that the process configured with ExecStart= will call fork() as part of its start-up. The parent process is expected to exit when start-up is complete and all communication channels are set up. The child continues to run as the main daemon process. This is the behavior of traditional UNIX daemons. If this setting is used, it is recommended to also use the PIDFile= option, so that systemd can identify the main process of the daemon. systemd will proceed with starting follow-up units as soon as the parent process exits.
Portanto, usar esse type
apenas dirá ao systemd para esperar até que swamp
retorne e, em seguida, considere que ele ainda está em execução: fazer isso acontecer continua sendo de sua responsabilidade ...