我用来GNU make
在 R 中启动不同写入/读取调用的基准测试。在某些情况下,这将导致我的 RAM 被完全使用并且进程被终止(这很好,因为我想查看限制)。
然而问题是,整个制作过程被杀死,而不仅仅是特定的脚本调用。
例如,假设我有以下Makefile
,目标small.csv
工作正常,large.csv
崩溃(有点预期),但现在其他...
目标没有构建。
问题是,我怎样才能Rscript tester --size large
以某种方式启动进程(),以便在一个进程被杀死后make
继续其他( )基准测试?...
# Makefile
.PHONY: all
all: small.csv large.csv ...
small.csv: tester.R
Rscript tester.R --size small
large.csv: tester.R
Rscript tester.R --size large
...
请注意,脚本在第一行接触了目标,因此无论运行是否被终止,都会始终创建目标。
发生这种情况是因为如果任何命令表明它失败,Make 默认会停止执行。
您可以通过在命令前加上
-
以下命令来禁用此功能:或者,您可以
make
使用-k
选项运行,告诉它在发生错误后尽可能继续运行。