Recentemente, eu tenho desenterrado informações sobre processos no GNU / Linux e conheci a infame bomba de forquilha:
:(){ : | :& }; :
Teoricamente, é suposto duplicar-se infinitamente até o sistema ficar sem recursos ...
No entanto, tentei testar tanto em uma distro CLI Debian quanto em uma GUI Mint , e isso não parece impactar muito o sistema. Sim, existem muitos processos criados e, depois de um tempo, leio mensagens no console, como:
bash: fork: recurso temporariamente indisponível
bash: fork: nova tentativa: nenhum processo filho
Mas depois de algum tempo, todos os processos acabam sendo mortos e tudo volta ao normal. Eu li que o ulimit define uma quantidade máxima de processo por usuário, mas não consigo elevar isso muito longe.
Quais são as proteções do sistema contra uma bomba bifurcada? Por que ele não se reproduz até que tudo congele ou pelo menos fique muito tempo? Existe uma maneira de realmente travar um sistema com uma bomba de garfo?
:(){ :& :; }; :
? Eles também acabam sendo mortos? Que tal :(){ while :& do :& done; }; :
?