我正在对亚马逊微实例进行测试,我在同一台机器上运行一个Web服务器和一个用Ruby编写的爬虫(使用Mechanize gem)。测试的目的是找到微实例服务器可以处理的最大负载(学校项目)。然而,当内存达到最大值时,系统(Ubuntu)一直使用137来杀死我的Ruby爬虫。由于Web服务器(更准确地说是mysql),内存已满,不是因为爬虫而且它仍然会杀死爬虫。因此,我希望能够阻止系统杀死我的ruby脚本或在被杀死时自动重启脚本。那可能吗?我不想使用不同的实例,因为我使用免费套餐(而且我不想为此付费)。
我在stackoverflow上找到了一个解决方案: How do I ensure a process is running, even if it kills itself? (it needs to be restarted then)
但是根据我的理解,它会一直反复启动脚本,甚至不需要被杀死。我对吗? (由于缺乏声誉,我无法评论原始问题)我理解这是一个糟糕的解决方法,但我不知道如何以不同的方式解决它。
非常感谢您的回答。