你如何在ruby中使用无限循环崩溃机器?

时间:2015-08-12 12:55:45

标签: ruby loops

如何在ruby中使用无限循环崩溃机器?

2 个答案:

答案 0 :(得分:7)

单独的无限循环不会导致机器崩溃,除非它获得100%的CPU时间(没有合理的操作系统允许)。

你可以创建一个无限循环,它会占用内存而不会让它被垃圾收集,但这只会使当前进程崩溃。

您可以改为创建进程,以递归方式创建其他进程(a fork bomb)。这将会减慢并最终导致机器崩溃,但任何理智的服务器都会限制用户可以产生的进程数。

答案 1 :(得分:2)

在Linux(或等价物)中,您可以继续打开文件而不关闭它们 - 在某些时候 - 您将开始看到"太多打开的文件"错误 - 这也可能阻碍新网络连接的打开。如果没有检查系统上的打开文件限制并使用默认设置,则会发生这种情况。

您还可以继续在操作系统分区中创建包含大量数据的文件,并填满磁盘空间,最终导致系统无响应。如果您的应用程序创建了太多日志条目而您忘记旋转文件,则会发生这种情况。