Re: lug-bg: Задачка Закачка: Bash
- Subject: Re: lug-bg: Задачка Закачка: Bash
- From: Peter Pentchev <roam@xxxxxxxxxxx>
- Date: Mon, 29 Nov 2004 15:18:38 +0200
On Mon, Nov 29, 2004 at 02:59:51PM +0200, Nikola Antonov wrote:
> On Monday 29 November 2004 14:48, Andrei Boyanov wrote:
> > Danail Petrov wrote:
> > >Здравейте ,
> > >Преди да напиша каквото и да е ще кажа само: не стартирайте това в
> > >нормална конзола, ползвайте ulimit ако сте любопитни.
> > >
> > >Та ... Какво според Вас прави това в баш шел:
> > >:(){ :|:&};:
> >
> > Прав ли съм като си мисля, че това дефинира функция, която се казва ' :'
> > , след което я вика? Тази функция от своя страна се вика сама себе си и
> > се праща в бекграунд. И така до безкрай ?
>
> Малко пипане в /etc/security/pam_limits.conf спасява системата от reboot.
> Но е гадно наистина.
То не е много ясно доколко ще я спаси... Ще спаси системата от пълнене
на паметта, защото на този потребител няма да му бъде разрешено да
стартира безкраен брой процеси *едновременно* и да напълни цялата памет.
Това, което ще се случи тогава обаче, ще бъде това: ще се стартира един
път тази fork-бомбичка, ще започне да пуска свои копия до достигане на
границата за брой на процеси, и тогава *някои* от заявките за fork-ване
на нови процеси ще пропаднат. Няма обаче да пропаднат *всички* - във
всеки момент ще има доста, доста голям брой процеси, които ще чакат или
за първия, или за втория fork, така че дори и някой от тях да гръмне с
EAGAIN, ще има достатъчно други, които само ще чакат някой да гръмне, за
да заемат неговото място. Проблем с натоварването на процесора винаги
ще има :)
Поздрави,
Петър
--
Peter Pentchev roam@xxxxxxxxxxx roam@xxxxxxxx roam@xxxxxxxxxxx
PGP key: http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553
"yields falsehood, when appended to its quotation." yields falsehood, when appended to its quotation.
Attachment:
pgpXuc6yIFicm.pgp
Description: PGP signature
|