有人能理解下面在 bash 中运行的代码吗?
:(){ :|:& };:
这似乎是fork
Linux上的“炸弹”。
答案1
其实破解起来并不难。
这段代码只是定义了一个名为的函数:
,该函数在管道中调用其自身的两个实例::|:&
。定义后,该函数的实例将启动。
这导致子 shell 进程数量快速增加。未受保护的系统(每个用户没有进程数限制的系统)将受到此类 fork 炸弹的严重影响,因为合法进程的数量很快就会被超越,从而剥夺大部分 CPU 资源。
有人能理解下面在 bash 中运行的代码吗?
:(){ :|:& };:
这似乎是fork
Linux上的“炸弹”。
其实破解起来并不难。
这段代码只是定义了一个名为的函数:
,该函数在管道中调用其自身的两个实例::|:&
。定义后,该函数的实例将启动。
这导致子 shell 进程数量快速增加。未受保护的系统(每个用户没有进程数限制的系统)将受到此类 fork 炸弹的严重影响,因为合法进程的数量很快就会被超越,从而剥夺大部分 CPU 资源。