我有一些神秘的perl代码,用来计算两个字符串之间的距离。我有创建和对齐字符串等的R代码。我需要从R调用数万次Perl代码。我用system()。
每次我从R调用system('perl ...')时,R都会打开一个新的外壳。我不知道如何使R简单地将所有命令发送到同一个shell,或者在打开它并运行system调用之后立即关闭shell。最后,我收到了一条too many open files消息,一切都崩溃了。
这是一个简单的例子,其中有一个理论Hello脚本:
for (i in seq_along(1:10000)){
system('perl hello.pl')
}system(perl...)一次后不会显示额外打开的连接。我在macos v10.13.2,R v3.5.2,Rstudio v1.1.456上。
如何使R不耗尽空间并运行对Perl的所有调用?(这甚至可能不是要问的确切问题。)
发布于 2019-04-19 16:39:57
按照Dirk Eddelbuettel的建议,我将所有可能的参数对写入一个bazillion文件中,并使用bash脚本遍历txt文件并在每一行上运行perl脚本。由于参数是字符串,这是这里可能的解决方案。最后它确实起作用了。
https://stackoverflow.com/questions/55763291
复制相似问题