while (1) fork();

Michal Vitecek fuf na fuf.sh.cvut.cz
Středa Únor 4 18:21:22 CET 1998


> Mikulas Patocka pise:
> : Pri experimentovani s Linuxem jsem prisel na to, ze kdyz nejaky
> : uzivatel vykona program obsahujici while (1) fork(); tak cely
> : system vytuhne; pocet procesu narusta exponencialne. Root nema
> : sanci to vykillovat, ani kdyz vykona killall tesne po spusteni
> : toho programu.
> 
> 	Ja teda nevim, ale Linux ma tusim rezervovane ctyri nebo kolik
> polozek v tabulce procesu pro roota. Takze root se minimalne muze prihlasit.
> Sam jsem na svem pocitaci zkusil tohle:
> 
> $ echo 'main(){while(1){fork();}}' >bomb.c
> $ cc bomb.c
> $ ./a.out
> 
> 	System byl desne pomaly (to jest procesy dostavaly 1/256 strojoveho
> casu proti obvyklemu chodu systemu), ale na druhe strane Linux velmi
> rychle detekoval interaktivni procesy (X server a xterm, do ktereho
> jsem se pokousel psat, takze zas _tak_ pomale to nebylo),
> no a pomoci "exec killall a.out" jsem v pohode
> bombu ukoncil. Pokud by tohle neslo, mohl jsem se treba nalogovat
> na konzole jako root. Pokud by neslo killall, mohl jsem jeste dat
> kill -KILL -1, coz by me ale odlogovalo z iXu, takze jsem radeji
> zkusil killall. a to proslo. Zadny problem. RedHat 5.0 na P133,
> kernel 2.1.78.
> 
> -Yenya
> 

 presne nejak takhle funguje clobberd, jako dany uzivatel spousti kill -9 -1
a je pak pokoj. je to dost vylepseni proti logovani se pri tak pomalem
chodu pocitace - proste je treba jen pockat, nez ten dany uzivatel
prekroci nastavenou miru.

			fuf


------------------------------ na IRC -------------------------------------
 BillGates [bgates na www.microsoft.com] has joined #LINUX
 ...
 mode/#linux [+b BillGates!*@*] by DoDad
 BillGates was kicked off #linux by DoDad (banned: We see enough of Bill
          Gates already.)
 




Další informace o konferenci Linux