:(){ :|:& };:
Ostrzeżenie
Uruchomienie powyższego kodu prowadzi do replikowania się instanjci Basha w nieskończoność tak szybko jak to jest tylko możliwe. Jeśli nie masz ustawionych odpowiednio limitów procesów NIE polecam uruchamiać tego ;)
W tych paru znakach jest tworzona funkcja o nazwie :
nie przyjmująca żadnych argumentów
:(){ ... }
Funckja ta wywołuje siebie rekurencjnie i wysyła strumieniem (pipe
) swoje wyjście do innej instancji tej funkcji
:|:
Część &
puszcza cały proces w tło - dlatego procesy potomne nie są kończone po zabiciu procesu macierzystego.
Najgorsze jest to, że kolejne powłoki są tworzone niemalże wykładniczo!
;:
Średnik zakańcza definicję funkcji, a dwukropek ja wywołuje po raz pierwszy.
Poprawne skonfigurowanie systemu polecenie: ulimit
, więcej informacji o poleceniu ulimit