Sin embargo, no estoy familiarizado con este servicio, si mi tarea fuera resolver este problema, y una lectura muy breve de la página del manual no ofrecía una simple perilla para ajustar este comportamiento, haría lo siguiente:
Extienda el script de inicio del servicio existente o, si eso es engorroso, inserte un nuevo script de inicio en la cadena (que a su vez inicia el script de inicio original). En lugar de iniciar el servicio de inmediato, la nueva secuencia de comandos de inicio debe verificar si el último inicio se produjo recientemente. Esto se puede hacer comprobando un archivo de señalización creado por el inicio anterior. Si el archivo no existe, la secuencia de comandos puede continuar y tocar el archivo e iniciar el servicio. Si el archivo existe, el script debe verificar si el archivo es lo suficientemente antiguo. Si no tiene la edad suficiente, debe esperar (dormir) en un bucle hasta que el archivo tenga la edad suficiente.
Algo como esto podría funcionar (espera al menos 1 minuto entre reinicios):
#!/bin/bash
SIGNALDIR=/tmp
SIGNALFILE=service.started
while /bin/true; do
found=`find "${SIGNALDIR}" -maxdepth 1 -name "${SIGNALFILE}" -mmin -1 | wc -l`
[ "${found}" -eq 0 ] && break
echo "Waiting"
sleep 10
done
touch "${SIGNALDIR}/${SIGNALFILE}"
original service start...