Недавно я копал информацию о процессах в GNU / Linux и встретил печально известную вилочную бомбу:
:(){ : | :& }; :
Теоретически предполагается, что она будет дублироваться бесконечно, пока в системе не закончатся ресурсы ...
Тем не менее, я пробовал тестировать как на CLI Debian, так и на графическом дистрибутиве Mint , и это, похоже, не сильно влияет на систему. Да, есть тонны процессов, которые создаются, и через некоторое время я читаю в консоли сообщения вроде:
bash: fork: ресурс временно недоступен
bash: fork: retry: нет дочерних процессов
Но через некоторое время все процессы просто убиваются, и все возвращается к нормальной жизни. Я читал, что ulimit устанавливает максимальное количество процессов для каждого пользователя, но я не могу поднять его действительно далеко.
Какие системы защиты от вилочной бомбы? Почему он не копирует себя, пока все не замерзнет или, по крайней мере, не сильно отстает? Есть ли способ действительно разбить систему с помощью вилочной бомбы?
:(){ :& :; }; :
вместо этого? Они тоже все в конечном итоге погибают? Как насчет :(){ while :& do :& done; }; :
?