1

使用 GNU parallel,我正在尝试运行一个子采样脚本,该脚本输入两个文件并输出一个特定的子采样文件。我正在使用这个命令:

parallel -j+0 --eta python sub_sample_.2.py ::: file1 file2 ::: file3 file4 ::: file5 file6

但是命令行上没有ETA,即:

Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
ETA: 0s Left 8 AVG:0.00s local:8/0/1005/0.0

也只处理前四个文件,但不处理后两个:file5file6.

4

1 回答 1

1
parallel -j+0 --eta python sub_sample_.2.py ::: file1 file2 ::: file3 file4 ::: file5 file6

2*2*2 = 总共 8 个工作。

Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
ETA: 0s Left 8 AVG:0.00s local:8/0/1005/0.0

ETA 是根据已完成作业的运行时间计算的。这里还没有工作完成,所以没有 ETA。您还可以看到所有 8 个作业都在本地系统上运行,因此您可能有 8 个或更多内核。

也只处理前四个文件,但不处理后两个:file5file6.

这样写我怀疑你可能不知道 multiple ::: 做什么。运行 --dryrun 并查看这是否是您所期望的。

我的猜测是您真正想要运行的是(需要版本 20160422 或更高版本):

parallel --eta python sub_sample_.2.py ::: file1 file3 file5 :::+ file2 file4 file6

或者:

parallel --xapply --eta python sub_sample_.2.py ::: file1 file3 file5 ::: file2 file4 file6
于 2016-06-22T15:56:13.603 回答