如果我有一个从Ruby调用的可执行文件,它会占用大量内存,例如:
puts `ls -lR /`
流程结束后会发生什么? Unix收集进程使用的内存吗?或者有办法强迫Ruby这样做吗?
答案 0 :(得分:0)
* nix将在正常处理过程中执行此操作,就像您从命令行运行它一样。
该命令的输出将在Ruby的内存空间中,垃圾收集将在不再需要时进行处理。
那就是说,作为一名程序员,我们应该认识到我们所做的事情何时不具备可扩展性或高效性,并找到一种可扩展且高效的方法。 People" DOS"他们自己的系统经常不考虑他们正在做什么。例如,不要使用递归ls
使用Find.find
,而是使用更可控和可扩展的代码片段。