那些可能会意外closures服务器的常见方式列表?

在运行一个使我的服务器停机的bash fork炸弹之后,我认为我应该更加小心,即使没有根。我认为这将是完全正常的,而我根本没有。所以我忽略了警告,跑了炸弹叉炸弹这是: :() { :|:& }; : :() { :|:& }; : 。( 请不要运行它,如果你不明白这个代码,因为它会让你的系统下来 )。我想我需要一个常见的方式列表,可能会导致一个服务器甚至没有根源下closures。

任何build议,将不胜感激。

问候`

如果linux耗尽内存资源,那么它将调用“内存不足”杀手。

这将随机select一个进程来终止释放资源。 如果你的系统调用了OOM杀手,那么它真的没有资源,它通常杀死进程作为最后的手段。

这篇博文有很好的解释

http://prefetch.net/blog/index.php/2009/09/30/how-the-linux-oom-killer-works/

在你的情况下,我认为OOM杀手杀死了你的networking服务器进程。

您可以通过设置每个进程限制来停止叉式炸弹之类的事情。

但是,您可以避免input会将您的系统损坏为活动服务器的命令。

这就是虚拟机的用途! 😉

你可能在运行fork炸弹的时候用完了RAM,然后web服务器试图分配一些内存。 由于没有可用的内存,malloc()或类似地返回一个NULL指针,在代码中没有正确检查,导致尝试读取/写入程序无法访问的内存块。 因此,操作系统内核杀死了这个程序。

当一个networking服务器或任何其他服务意外地closures软件中最常见的错误。 无论是通过遥控器使用安全漏洞,还是在本地使用。

一个足够大的焦油炸弹可以做到这一点。 虽然这通常比用户错误更恶毒。