Systemd: detiene el process principal (o el service) cuando se produce un locking del subprocess

Tengo dos progtwigs que llamé program1 y program2 que realizan una tarea principal de dos operaciones. Cuando el program1 comienza a funcionar, canaliza sus resultados a program2 que realiza el resultado final. Como ambos progtwigs deben ejecutarse continuamente, implementé un service systemd para esto y aquí está el contenido del file /lib/systemd/system/servers.service .

 [Unit] Description=Start servers After=network.target [Service] Type=simple ExecStart=/usr/local/bin/servers >> /var/log/servers.log Restart=always TimeoutStartSec=100 User=root ExecStartPre=killall -w -q program1 && killall -w -q program2 User=root ExecStopPost=killall -w -q program1 && killall -w -q program2 User=root [Install] WantedBy=multi-user.target 

Cuando ejecuta el service, systemd crea dos processs para realizar la tarea, aquí puede ver el estado.

 sudo service servers status # result ● servers.service - Start servers Loaded: loaded (/lib/systemd/system/servers.service; enabled) Active: active (running) since Wed 2016-06-29 21:00:27 UTC; 2h 5min ago Main PID: 11942 (server) CGroup: /system.slice/servers.service ├─11942 program1 └─11944 program2 

cuando uno de los progtwigs falla, el service aún está en estado de ejecución, lo que no es lógicamente correcto porque la tarea principal está detenida.

¿Me gustaría saber si es posible implementar una situación de este tipo con los services systemd? ¿Si es así, cómo?