Autonahozeni deamona

Matus fantomas Uhlar uhlar na fantomas.sk
Čtvrtek Červen 3 09:04:03 CEST 1999


Michal Krause <mike na navrcholu.cz> wrote:
->> ->> >     cas od casu mi sleti jeden deamon, nez zjistim pricinu, rad bych, aby ho
->> ->> > skript v pripade padu znovu nastartoval. Neexistuje nejake osetreni primo v
->> ->> > rc.d ?
->> ->> spustat ho z inittabu ako respawn... pozor, treba ho donutit aby sa
->> ->> neforkoval, inac sa pusti milion krat...
->> 
->> to je horsie.... init aspon zisti ze sa deje cosi nekale takze spusti max 5
->> instancii toho procesu (a potom da na par minut disable, potom to urobi zase
->> a disable).
->> 
->> zatial co vas skript by v pripade forkovania za chvilu zabil masinu, hoci aj
->> PIII/500

-> To je pravda, ale puvodne slo o to, ze demon _obcas_ spadne, takze je IMHO
-> podobne reseni celkem vyhovujici. Samozrejme, ze se nehodi vzdy a vsude. U
-> respawnu by asi zase mohl byt problem s tim, ze v dobe nahozeni jeste nebezi
-> vsechno (napr. dejme tomu, ze ten demon pracuje s SQL serverem), ne?


asi ste si neprecitali poriadne o co islo ;)
islo o to ze ked spustite niektore demony, ony sa forknu, parent quitne a
ostane child a vam sa zda ako keby proces skoncil. lenze neskoncil. a keby
ste toto spustili opakovane v skripte alebo v inite ako respawn, coskoro sa
namnozia demony na pozadi, zatial co parenty vzdy quitnu a skript verzus
init ich spusti znova.
zatal co init asi po piatom ukonceni zisti ze nie je vsetko v poriadku,
vypapuluje varovanie ze nieco blblne, a spustanie procesu na par minut
stopne, shell skript bude spustat kym budu volne procesy v systeme. A to ho
zabije.

Priklad: squid sa dodava so skriptom RunCache ktory spusta squida dookola.
ak sa vsak 5 krat za sebou ukonci squid prirychlo, RunCache quitne s
hlaskou:

    if test $failcount -gt 5 ; then
          echo "ate: RunCache: EXITING DUE TO REPEATED FREQUENT FAILURES"
      exit 1

init robi to iste ale nequitne po 5 neuspecnych pokusoch, ale pocka 5 minut
a ide to toho zase. zatial mozete fixnut inittab alebo zabezpecit aby
program nequitoval.

JE som si kedysi davno prerobil skript RunCache na RunSquid ktory spustil
squida so spravnymi parametrami a s presmerovanim vystupu iba raz, a skript
RunSquid som spustal z initu. Pacilo sa mi to viacej...
-- 
 Matus "fantomas" Uhlar, sysadmin at Telenor Internet Kosice, Slovakia
 BIC coord for *.sk; admin of netlab.irc.sk; co-admin of irc.felk.cvut.cz
 "Where do you want to go to die?" [Microsoft]


Další informace o konferenci Linux