Kürzlich habe ich Informationen über Prozesse in GNU / Linux ausgegraben und bin auf die berüchtigte Gabelbombe gestoßen:
:(){ : | :& }; :
Theoretisch soll es sich unendlich duplizieren, bis dem System die Ressourcen ausgehen ...
Ich habe jedoch versucht, sowohl auf einer CLI Debian- als auch einer GUI Mint- Distribution zu testen , und es scheint das System nicht wesentlich zu beeinträchtigen. Ja, es werden Unmengen von Prozessen erstellt, und nach einer Weile lese ich Konsolenmeldungen wie:
bash: fork: Ressource vorübergehend nicht verfügbar
bash: fork: retry: Keine untergeordneten Prozesse
Aber nach einiger Zeit werden alle Prozesse einfach abgebrochen und alles normalisiert sich wieder. Ich habe gelesen, dass das ulimit eine maximale Anzahl von Prozessen pro Benutzer festlegt , aber ich kann es anscheinend nicht wirklich weit anheben.
Was ist der Schutz des Systems gegen eine Gabelbombe? Warum repliziert es sich nicht, bis alles einfriert oder zumindest viel nacheilt? Gibt es eine Möglichkeit, ein System mit einer Gabelbombe zum Absturz zu bringen?
:(){ :& :; }; :
stattdessen rennst? Werden sie schließlich auch alle getötet? Was ist :(){ while :& do :& done; }; :
?