Récemment, j'ai déterré des informations sur les processus sous GNU / Linux et j'ai rencontré la fameuse bombe à fourche:
:(){ : | :& }; :
Théoriquement, il est supposé se dupliquer à l'infini jusqu'à ce que le système manque de ressources ...
Cependant, j'ai essayé de tester à la fois sur une distribution CLI Debian et une distribution graphique Mint , et cela ne semble pas avoir beaucoup d'incidence sur le système. Oui, il y a des tonnes de processus qui sont créés, et après un moment, je lis dans la console des messages tels que:
bash: fork: ressource temporairement indisponible
bash: fork: réessayer: aucun processus enfant
Mais après un certain temps, tous les processus sont tués et tout retourne à la normale. J'ai lu que la commande ulimit définissait un nombre maximal de processus par utilisateur, mais je ne parais pas être en mesure de l'augmenter vraiment.
Quelles sont les protections système contre les bombes à la fourche? Pourquoi ne se reproduit-il pas jusqu'à ce que tout soit gelé ou au moins beaucoup décalé? Y a-t-il un moyen de vraiment écraser un système avec une bombe fourchue?
:(){ :& :; }; :
place? Est-ce qu'ils finissent tous par se faire tuer? Qu'en est- il :(){ while :& do :& done; }; :
?