LINUX.ORG.RU

Форк-Бомба на bash.


0

1

Здравствуйте. Решил найти эту команду и выполнить.

Нашел: :(){ :|:& };:

Выполнил. Уже через 5 секунд все остановилось. Вопрос заключается вот в чем - что означают все эти двоеточия и скобки? Я имею представление о Bash, написал некоторое количество скриптов, но там все-таки помимо знаков были слова, а тут - нечто непонятное. Объясните пожалуйста.

★★

Ответ на: комментарий от geekless

Кажется, понятно.

Функция F, которая выполнит себя, выполнит себя еще разок, а потом это все выполнится еще раз. Правильно?

Valdor ★★
() автор топика
Ответ на: комментарий от geekless

В принципе, правильно. Смятение вызывает то еще.

Valdor ★★
() автор топика
Ответ на: комментарий от tazhate

У меня есть претензия

& - Puts the function call in the background so child cannot die at all and start eating system resources.

Не «не может умереть», а не может вернуть значение в родительский шелл.

Deleted
()
Ответ на: комментарий от wheel

Под юзером и пускал- зачем ей рут?

Valdor ★★
() автор топика
Ответ на: комментарий от Black_Roland

Да, там не помешает какая-нибудь многоэтажная формула, описывающая скорость роста вычислений.

Deleted
()
Ответ на: комментарий от ados

Хотя, нет. Тут дело не только в процессорах.

ados ★★★★★
()
Ответ на: комментарий от Valdor

В целом - да, просто так, но еще есть такая встроенная команда в bash'е. Тут просто идет переопределение (а, скорее, подстановка первой в очереди) ее в виде функции.

YAR ★★★★★
()
Ответ на: комментарий от geekless

f()
{
sleep 0.1; f | sleep 0.1; f &
}


Так интересней наблюдать за htop-ом.

ymuv ★★★★
()

Кстати, ash как-то сопротивляется? Пробовал кинуть в недавнем треде, валилось с can't fork. Разбираться было лень, переписал на питоне.

Kalashnikov ★★★
()

Уже через 5 секунд все остановилось. Объясните пожалуйста

man bash (ulimit)

ulimit -u 100 теперь запускай

sdio ★★★★★
()

bash: fork: Невозможно выделить память

AlexVIP
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.