Я смотрел на форк-бомбу в Википедии, и примеры пакетов были:
%0|%0
OR
:here
start ''your fork bomb name''.bat
goto here
OR
:here
start %0
goto here
Вторые два я понимаю, они запускают другой экземпляр себя, а затем повторяются, но я не понимаю первого. Я читал, что конвейер выполняет файл справа с выводом файла слева. Почему форк-бомба не может быть просто:
%0
Я бы предположил, что это вызовет само себя, но затем мгновенно завершится, но почему бы %0|%0
также не завершиться? Несмотря на то, что новый экземпляр будет продолжать создавать новые экземпляры, разве первый не выполняется после запуска второго? Что заставляет продолжаться первый?
редактировать: это зацикливается, потому что ни один из экземпляров не может завершиться, пока их рекурсивный вызов не будет возвращен? Означает ли это, что он вызывает только первый %0
?