Если вы запускаете файл .bat или .cmd с %0|%0
внутри, ваш компьютер начинает использовать много памяти и через несколько минут перезапускается. Почему этот код блокирует вашу Windows? И что делает этот код программно? Можно ли считать это "ошибкой"?
Что такое% 0 |% 0 и как оно работает?
Ответ 1
Это версия Windows боковая вилка.
%0
- это имя исполняемого исполняемого файла. Пакетный файл, содержащий только эту строку:
%0|%0
Собирается рекурсивно выполнять себя навсегда, быстро создавать множество процессов и замедлять работу системы.
Это не ошибка в окнах, это просто очень глупое дело в пакетном файле.
Ответ 2
Это известно как вилка. Он продолжает разделяться до тех пор, пока не будет выбора, кроме как перезапустить систему. http://en.wikipedia.org/wiki/Fork_bomb
Ответ 3
Что это такое:
%0|%0
- это вилка бомбы. Он будет порождать другой процесс, используя трубу |
, которая запускает копию одной и той же программы асинхронно. Это заставляет процессор и память замедлять работу системы до почти остановки (или даже сбой системы).
Как это работает:
%0
относится к команде, используемой для запуска текущей программы. Например, script.bat
Символ pipe |
сделает вывод или результат первой последовательности команд в качестве входа для второй последовательности команд. В случае вилочной бомбы нет выхода, поэтому он просто запускает вторую командную последовательность без ввода.
Расширяя пример, %0|%0
может означать script.bat|script.bat
. Это снова запускается, но также создает другой процесс для повторного запуска той же программы (без ввода).
Ответ 4
Это логическая бомба, она воссоздает себя и берет на себя все ресурсы вашего процессора. Он перегружает ваш компьютер слишком многими процессами, и он заставляет его закрываться. Если вы создадите пакетный файл с этим в нем и запустите его, вы можете закончить его с помощью taskmgr. Вы должны сделать это довольно быстро, или ваш компьютер будет слишком медленным, чтобы что-либо сделать.