我已经和Unix玩了一段时间了,我发现了一个可爱的代码,每个人都称之为叉炸弹:(){:|:& };:.我想尝试一下,但我知道它会像疯了一样落后于我的电脑,所以我只是想知道是否有人可以给我一些步骤以便我的计算机在运行命令时不会滞后.谢谢你的帮助:D
解决方法
警告:在虚拟机中尝试此操作会好得多.以下是我的经验,但我不能保证您的结果会相似.
您可以使用ulimit -u来限制当前用户允许的进程数.请注意,限制将包括已在其他位置运行或启动的进程,因此您需要将其设置得相当大. (100对我来说太小了,但500让我开始使用前叉炸弹.)这个限制也适用于整个系统,所以你可能需要重新启动. (在Mac OS X上,我退出了任何shell,然后无法启动任何程序,包括我可能会移除限制的shell.)
注意事项:500的限制似乎使我的shell崩溃了,但是200的限制似乎让我的shell无休止地尝试启动新进程而没有成功.
$ulimit -u 500 $:(){ :|:& };: [kaboom]