Nemám problém se střednědobou pamětí, mám problém s tím, že jako důvody pro nenastartování aplikace uvádíte věci, které takovým důvodem nejsou.
Vy pořád dáváte rovnítko mezi chybu aplikace a pád procesu. Jenže žádné takové rovnítko neexistuje. Proces může vesele běžet dál a přitom vyrábět jednu chybu za druhou, stejně tak může aplikace spadnout, aniž by v ní došlo k jediné chybě. Takže odstavení aplikace v případě, že dělá nějakou závažnou chybu, musíte mít vyřešené bez ohledu na to, zda při tom spadne nebo nespadne. No a pak je zase zbytečné tu aplikaci držet vypnutou v případě pádu, protože kdyby ten pád způsobila nějaká závažná chyba, zastaví přece aplikaci ten monitoring chyb.
Upravit nastavení serveru tak, aby příště k pádu nedošlo, to je také dobrý vtip. Pokud třeba na serveru dojde ke kernel panic, má jako administrátor někde v /etc/kernel.conf
nastavit be.good=1
? Nebo má rovnou zastavit celý cluster, protože v tu chvíli neví, kde je chyba – může to být chyba v jádře, stejná na všech uzlech clusteru? Uživatele zatím pošle na dovolenou a začne debugovat jádro…
Mimochodem, třeba v zabezpečení na železnici (což je přeci jen trochu jiná úroveň požadované spolehlivosti, než nějaký webový server) platí, že s chybou se počítá, ale zařízení musí v případě chyby přejít vždy do bezpečnějšího stavu. Vztaženo zpátky na software – pořád je lepší, pokud se aplikace v případě nečekané chyby ukončí a spustí se znovu, než když se z té chyby špatně zotaví a začne skrytě páchat nějaké zlo (a administrátor je spokojený, protože nedošlo k žádnému pádu, takže musí být vše v pořádku).