Recentemente eu estive desenterrando informações sobre processos no GNU/Linux e encontrei a infame bomba fork :
:(){ : | :& }; :
Teoricamente, ele deve se duplicar infinitamente até que o sistema fique sem recursos...
No entanto, eu tentei testar tanto em uma distro CLI Debian quanto em uma GUI Mint , e isso não parece afetar muito o sistema. Sim, existem muitos processos criados e, depois de um tempo, li mensagens do console como:
bash: fork: recurso temporariamente indisponível
bash: fork: retry: nenhum processo filho
Mas depois de algum tempo, todos os processos são mortos e tudo volta ao normal. Eu li que o ulimit definiu uma quantidade máxima de processo por usuário, mas não consigo aumentá-lo muito longe.
Quais são as proteções do sistema contra uma fork-bomb? Por que não se replica até que tudo congele ou pelo menos fique muito atrasado? Existe uma maneira de realmente travar um sistema com uma bomba de garfo?