给定一个RScript打印它自己的进度条,说myscript.R
:
pBar <- txtProgressBar(style = 1)
L <- 10L
for (m1 in seq_len(L)) {
Sys.sleep(0.5)
setTxtProgressBar(pb = pBar,
value = m1 / L)
}
我可以让GNU并行工具从我的脚本中打印出进度条吗?它会管理新的进度条吗?
我对parallel的典型用法是:
parallel --jobs 5 --progress "RScript ~/myrscript.R {#}" ::: `seq 20`
我希望能够看到每个进度条打印出来,然后下一组的进度条替换第一个进度条,或者在新的行上打印。
尝试:
parallel --jobs 5 -u RScript ~/myrscript.R {#} ::: `seq 20`
--ungroup/-u
将直接传递所有输出。
这可能不理想:每个进程的进度条将覆盖前一个作业的进度条。
或尝试使用--tmux
:
parallel --jobs 5 --tmux --bar RScript ~/myrscript.R {#} ::: `seq 20`
这将在tmux
窗口中启动每个作业,因此您可以看到每个作业的输出。--bar
将根据完成的作业给出进度条。