Se o seu programa existir, o parâmetro "Restart = always" reiniciará o programa. Veja aqui: link para mais detalhes. Também importante:
type=forking: systemd considers the service started up once the process forks and the parent has exited. For classic daemons use this type unless you know that it is not necessary. You should specify PIDFile= as well so systemd can keep track of the main process.
Portanto, se o systemd precisar rastrear o processo, será necessário criar um arquivo pid.