如果运行包含%0|%0
的.bat或.cmd文件,计算机将开始使用大量内存,并在几分钟后重新启动。为什么这段代码会阻止你的Windows?这段代码以编程的方式做了什么?它能被认为是一个"bug“吗?
发布于 2013-03-29 05:54:20
这就是所谓的叉子炸弹。它一直在自我拆分,直到别无选择,只能重新启动系统。http://en.wikipedia.org/wiki/Fork_bomb
发布于 2012-01-21 09:01:48
%0永远不会结束,但它永远不会创建多个进程,因为它会立即将控制转移到第二批处理脚本(恰好是它自己)。
但是,除了父进程之外,Windows管道还会为管道的每一端创建一个新进程。在管道的两端都终止之前,父进程无法完成。因此,只有一个简单管道的主程序将有3个进程。您可以看到,如果管道的每一端递归地调用父批处理,炸弹是如何迅速失控的!
发布于 2014-11-29 01:26:11
它是一个逻辑炸弹,它不断地自我重建,并占用你所有的CPU资源。过多的进程会使您的计算机过载,并迫使计算机关机。如果你创建了一个批处理文件并启动它,你可以使用taskmgr来结束它。你必须很快地做这件事,否则你的计算机将会太慢而不能做任何事情。
https://stackoverflow.com/questions/13436408
复制相似问题