Versteht jemand den folgenden Code, der in Bash läuft?
:(){ :|:& };:
Es scheint ein „fork
zu sein ” Bombe unter Linux.
Akzeptierte Antwort:
Es ist tatsächlich nicht so schwer zu entziffern.
Dieses Stück Code definiert nur eine Funktion namens :
die zwei Instanzen von sich selbst in einer Pipeline aufruft::|:&
. Nach der Definition wird eine Instanz dieser Funktion gestartet.
Dies führt zu einer schnell ansteigenden Anzahl von Subshell-Prozessen. Ungeschützte Systeme (Systeme ohne Begrenzung der Prozessanzahl pro Benutzer) werden von solchen Fork-Bomben stark in Mitleidenschaft gezogen, da legitime Prozesse schnell in die Unterzahl geraten und somit der meisten CPU-Ressourcen beraubt werden.