最近我一直在挖掘有关 GNU/Linux 中进程的信息,并且遇到了臭名昭著的 fork 炸弹:
:(){ : | :& }; :
理论上,它应该无限复制自己,直到系统耗尽资源......
但是,我已经尝试在CLI Debian和GUI Mint发行版上进行测试,它似乎对系统没有太大影响。是的,有很多进程被创建,过了一会儿我读到了控制台消息,比如:
bash:fork:资源暂时不可用
bash:fork:重试:没有子进程
但一段时间后,所有进程都会被杀死,一切都恢复正常。我已经读过ulimit为每个用户设置了最大进程数,但我似乎无法将它提高到很远。
针对叉形炸弹的系统保护措施是什么?为什么它不会自我复制,直到一切都冻结或至少滞后很多?有没有办法用叉子炸弹真正使系统崩溃?