Forkbomb: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| + | |||
| + | == Erklärung des Skripts == | ||
*forkbomb(){ forkbomb | forkbomb & }; forkbomb | *forkbomb(){ forkbomb | forkbomb & }; forkbomb | ||
| + | |||
| + | Das Skript <code>forkbomb(){ forkbomb | forkbomb & }; forkbomb</code> ist eine Form einer Fork-Bomb, die in Unix-basierten Betriebssystemen wie Linux verwendet wird. Eine Fork-Bomb ist ein bösartiges Skript, das eine endlose Anzahl von Prozessen erstellt, bis das System überlastet wird und keine neuen Prozesse mehr starten kann. Dies führt dazu, dass das System abstürzt oder extrem langsam wird. | ||
| + | |||
| + | === Erklärung der einzelnen Teile === | ||
| + | * <code>forkbomb(){ ... }</code>: Dies definiert eine Funktion mit dem Namen <code>forkbomb</code>. | ||
| + | * <code>forkbomb | forkbomb &</code>: Dies ist der Inhalt der Funktion <code>forkbomb</code>. Hier passiert folgendes: | ||
| + | ** <code>forkbomb</code> ruft die Funktion <code>forkbomb</code> erneut auf. | ||
| + | ** <code>|</code> leitet die Ausgabe der Funktion <code>forkbomb</code> an eine weitere Instanz der Funktion <code>forkbomb</code> weiter. | ||
| + | ** <code>&</code> sorgt dafür, dass der Funktionsaufruf im Hintergrund ausgeführt wird. | ||
| + | * <code>;</code>: Dieses Semikolon beendet die Funktionsdefinition. | ||
| + | * <code>forkbomb</code>: Hier wird die Funktion <code>forkbomb</code> aufgerufen, wodurch die Fork-Bomb gestartet wird. | ||
| + | |||
| + | === Detaillierte Erklärung === | ||
| + | * Definition einer Funktion: <code>forkbomb(){ ... }</code> | ||
| + | ** Hier wird eine Funktion mit dem Namen <code>forkbomb</code> definiert. | ||
| + | * Funktionaler Code innerhalb der Funktion: <code>forkbomb | forkbomb &</code> | ||
| + | ** Wenn die Funktion <code>forkbomb</code> aufgerufen wird, ruft sie sich selbst zweimal auf: | ||
| + | *** Einmal wird sie direkt aufgerufen und ihre Ausgabe wird über die Pipe <code>|</code> an eine weitere Instanz der Funktion <code>forkbomb</code> weitergeleitet. | ||
| + | *** Die zweite Instanz wird im Hintergrund mit <code>&</code> gestartet. | ||
| + | ** Dies führt dazu, dass die Funktion sich selbst immer wieder aufruft und neue Prozesse im Hintergrund startet. | ||
| + | * Aufruf der Funktion: <code>forkbomb</code> | ||
| + | ** Die Funktion <code>forkbomb</code> wird einmal aufgerufen, was den initialen Start der Fork-Bomb auslöst. | ||
| + | |||
| + | === Zusammenfassung === | ||
| + | * Definition einer Funktion: <code>forkbomb(){ ... }</code> | ||
| + | * Funktionaler Code innerhalb der Funktion: <code>forkbomb | forkbomb &</code> | ||
| + | * Aufruf der Funktion: <code>forkbomb</code> | ||
| + | * Ergebnis: Exponentielles Wachstum der Prozesse, bis das System abstürzt oder extrem langsam wird. | ||
| + | =Da : ein gültiger Funktionsnahme ist geht es auch so= | ||
*<nowiki>:(){ :|:& };:</nowiki> | *<nowiki>:(){ :|:& };:</nowiki> | ||
Aktuelle Version vom 7. Juni 2024, 12:02 Uhr
Erklärung des Skripts
- forkbomb(){ forkbomb | forkbomb & }; forkbomb
Das Skript forkbomb(){ forkbomb | forkbomb & }; forkbomb ist eine Form einer Fork-Bomb, die in Unix-basierten Betriebssystemen wie Linux verwendet wird. Eine Fork-Bomb ist ein bösartiges Skript, das eine endlose Anzahl von Prozessen erstellt, bis das System überlastet wird und keine neuen Prozesse mehr starten kann. Dies führt dazu, dass das System abstürzt oder extrem langsam wird.
Erklärung der einzelnen Teile
forkbomb(){ ... }: Dies definiert eine Funktion mit dem Namenforkbomb.forkbomb | forkbomb &: Dies ist der Inhalt der Funktionforkbomb. Hier passiert folgendes:forkbombruft die Funktionforkbomberneut auf.|leitet die Ausgabe der Funktionforkbomban eine weitere Instanz der Funktionforkbombweiter.&sorgt dafür, dass der Funktionsaufruf im Hintergrund ausgeführt wird.
;: Dieses Semikolon beendet die Funktionsdefinition.forkbomb: Hier wird die Funktionforkbombaufgerufen, wodurch die Fork-Bomb gestartet wird.
Detaillierte Erklärung
- Definition einer Funktion:
forkbomb(){ ... }- Hier wird eine Funktion mit dem Namen
forkbombdefiniert.
- Hier wird eine Funktion mit dem Namen
- Funktionaler Code innerhalb der Funktion:
forkbomb | forkbomb &- Wenn die Funktion
forkbombaufgerufen wird, ruft sie sich selbst zweimal auf:- Einmal wird sie direkt aufgerufen und ihre Ausgabe wird über die Pipe
|an eine weitere Instanz der Funktionforkbombweitergeleitet. - Die zweite Instanz wird im Hintergrund mit
&gestartet.
- Einmal wird sie direkt aufgerufen und ihre Ausgabe wird über die Pipe
- Dies führt dazu, dass die Funktion sich selbst immer wieder aufruft und neue Prozesse im Hintergrund startet.
- Wenn die Funktion
- Aufruf der Funktion:
forkbomb- Die Funktion
forkbombwird einmal aufgerufen, was den initialen Start der Fork-Bomb auslöst.
- Die Funktion
Zusammenfassung
- Definition einer Funktion:
forkbomb(){ ... } - Funktionaler Code innerhalb der Funktion:
forkbomb | forkbomb & - Aufruf der Funktion:
forkbomb - Ergebnis: Exponentielles Wachstum der Prozesse, bis das System abstürzt oder extrem langsam wird.
Da : ein gültiger Funktionsnahme ist geht es auch so
- :(){ :|:& };: