Что такое% 0 |% 0 и как это работает?

Если вы запустите файл .bat или .cmd с %0|%0 внутри, ваш компьютер начнет использовать много памяти, и после нескольких минут, перезапускается. Почему этот код блокирует вашу Windows? И что этот код делает программно? Можно ли это считать «ошибкой»?

66 голосов | спросил Doon 18 72012vEurope/Moscow11bEurope/MoscowSun, 18 Nov 2012 04:50:48 +0400 2012, 04:50:48

4 ответа


0

Это версия для Windows вилочной бомбы .

%0 - имя исполняемого в данный момент пакетного файла. Пакетный файл, который содержит только эту строку:

%0|%0

Будет рекурсивно исполнять себя вечно, быстро создавая много процессов и замедляя работу системы.

Это не ошибка в Windows, это просто очень глупая вещь в пакетном файле.

ответил Jonathon Reinhart 18 72012vEurope/Moscow11bEurope/MoscowSun, 18 Nov 2012 04:52:46 +0400 2012, 04:52:46
0

Это известно как вилочная бомба. Он продолжает расщепляться, пока нет другого выбора, кроме как перезагрузить систему. http://en.wikipedia.org/wiki/Fork_bomb

ответил Harrison Dyer 29 MaramFri, 29 Mar 2013 01:54:19 +04002013-03-29T01:54:19+04:0001 2013, 01:54:19
0

Что это такое:

%0|%0 является вилочная бомба . Он порождает другой процесс, используя канал |, который асинхронно запускает копию той же программы. Это приводит к загрузке процессора и памяти, что замедляет работу системы почти до полной остановки (или даже приводит к сбою системы).

Как это работает:

%0 относится к команде, используемой для запуска текущей программы. Например, script.bat

Символ канала | сделает вывод или результат первой последовательности команд в качестве ввода для второй последовательности команд. В случае с бомбой-вилкой выход не выводится, поэтому он просто запускает вторую последовательность команд без ввода.

Расширяя пример, %0|%0 может означать script.bat|script.bat

ответил Samuel Liew 14 WedEurope/Moscow2016-12-14T03:02:47+03:00Europe/Moscow12bEurope/MoscowWed, 14 Dec 2016 03:02:47 +0300 2016, 03:02:47
0

Это логическая бомба, она постоянно воссоздает себя и забирает все ресурсы вашего процессора. Он перегружает ваш компьютер слишком большим количеством процессов и заставляет его выключаться. Если вы создадите командный файл с этим файлом и запустите его, вы можете завершить его с помощью taskmgr. Вы должны сделать это довольно быстро, иначе ваш компьютер будет слишком медленным, чтобы что-то делать.

ответил Edward 28 52014vEurope/Moscow11bEurope/MoscowFri, 28 Nov 2014 20:26:11 +0300 2014, 20:26:11

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132