什么是%0 |%0,它是如何工作的?
如果在内部运行带有%0|%0
的.bat或.cmd文件,计算机将开始使用大量内存,几分钟后重新启动。 为什么这个代码阻止你的Windows? 这段代码在编程上做了什么? 它可以被认为是一个“bug”?
这是一个叉式炸弹的Windows版本。
%0
是当前正在执行的batch file的名称。 包含这一行的batch file:
%0|%0
将会recursion地永久执行,快速创build许多进程并放慢系统速度。
这不是Windows中的错误,在batch file中这只是一个非常愚蠢的事情。
这被称为叉式炸弹。 它一直在分裂,直到没有select,只能重新启动系统。 http://en.wikipedia.org/wiki/Fork_bomb
这是什么:
%0|%0
是一个叉子炸弹 。 它将使用pipe道产生另一个进程 它asynchronous地运行相同的程序的副本。 这使CPU和内存变慢,使系统变慢(甚至导致系统崩溃)。
这是如何工作的:
%0
是指用来运行当前程序的命令。 例如, script.bat
pipe道|
符号将使第一个命令序列的输出或结果成为第二个命令序列的input。 在一个叉式炸弹的情况下,没有输出,所以它将简单地运行没有任何input的第二个命令序列。
展开示例, %0|%0
可能意味着script.bat|script.bat
。 这再次运行,但也创build另一个进程再次运行相同的程序(没有input)。
这是一个逻辑炸弹,它不断重新创build,占用你所有的CPU资源。 它使您的计算机负载过重,迫使它closures。 如果你在这个文件中创build一个batch file并启动它,你可以使用taskmgr来结束它。 你必须很快做到这一点,否则你的电脑将太慢,无法做任何事情。