Я делал на PHP демоны, которые месяцами работали, но изначально да, были проблемы, у меня к примеру очередь мониторил скрипт и как только ловил входящее сообщение - начинал обрабатывать, срабатывал таймаут в mysql, пришлось написать функцию для проверки соединения и если его нет то реконектиться, эта функция только в начале одной обработки запускалась...
Еще всякие вещи типа бесконечных циклов, хотя бы на 500 мс нужно делать задержки...
А вообще на bash можно запилить скрипт, который грепает PID в выхлопе ps -aux и если нет такого процесса, то запускать, а при первом запуске сохранять в файлик какой-то типа > script.pid...