Was ist% 0 |% 0 und wie funktioniert es?
Wenn Sie ausführen ein .bat-oder .cmd-Datei mit %0|%0
innen, startet Ihren computer verwenden eine Menge Speicher, und nach einigen Minuten neu gestartet wird. Warum funktioniert dieser code-block Ihre Windows? Und was bedeutet dieser code programmgesteuert tun? Könnte es sein, als ein "bug"?
InformationsquelleAutor der Frage Doon | 2012-11-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist die Windows-version von einer Gabel Bombe.
%0
ist der name der aktuell ausgeführten batch-Datei. Eine batch-Datei, die enthält nur diese Zeile:Wird rekursiv ausgeführt sich ewig, schnell erstellen viele Prozesse und verlangsamt das system herunter.
Dies ist kein Fehler in windows, es ist einfach nur eine sehr dumme Sache zu tun, in einer batch-Datei.
InformationsquelleAutor der Antwort Jonathon Reinhart
Dies ist bekannt als eine Gabel Bombe.
Es hält sich aufteilen, bis es keine option das system neu zu starten.
http://en.wikipedia.org/wiki/Fork_bomb
InformationsquelleAutor der Antwort Harrison Dyer
Was es ist:
%0|%0
ist ein Gabel Bombe. Es wird spawn von einem anderen Prozess mit einem pipe -|
läuft eine Kopie des gleichen Programms asynchron. Diese Schweine die CPU und den Speicher und verlangsamt das system zu einem beinahe-Stillstand (oder sogar das system zum Absturz).Wie das funktioniert:
%0
bezieht sich auf den Befehl für das aktuelle Programm. Zum Beispielscript.bat
Rohr
|
symbol wird die Ausgabe oder das Ergebnis des ersten Befehls Sequenz als Eingabe für das zweite Kommando der Sequenz. Im Falle einer fork-Bombe, gibt es keine Ausgabe, so wird es einfach den zweiten Befehl ausführen, Reihenfolge ohne jede Eingabe.Ausbau der Beispiel
%0|%0
bedeuten könntescript.bat|script.bat
. Diese verläuft sich wieder, aber auch die Erstellung von einem anderen Prozess ausführen, um das gleiche Programm erneut (ohne Eingang).InformationsquelleAutor der Antwort Samuel Liew
Es ist ein Logik-Bombe, hält Sie neu erschafft und nimmt alle CPU-Ressourcen. Es überlastungen, die Ihren computer mit zu viele Prozesse und it-Kräfte, die es heruntergefahren. Wenn Sie eine batch-Datei mit diesem in es und starten Sie es, beenden Sie es mit "taskmgr". Sie müssen dies tun, ziemlich schnell, oder Ihr computer zu langsam, etwas zu tun.
InformationsquelleAutor der Antwort Edward