2017-07-25 89 views
1

我有一个包含1 000 000个域名的文件,而且我正在列表的每个域(即文件的每一行)上启动脚本testssl.sh(http://testssl.sh)。我使用GNU并行来提高性能。这是我如何启动testssl.sh与GNU并行:为什么GNU并行变得越来越不有效?

cat listDomainNames.txt | parallel --no-notice -j0 --workdir $PWD ./testMX.sh 

凡testMX.sh launchs testssl.sh:

./testssl.sh --starttls smtp --vulnerable --server-preference -mx --append  --csvfile result.csv $1 

在开始,我的剧本正在测试的域名非常快(5 000在1小时内),几个小时后,它变得非常慢(如每分钟1个域)。任何想法发生了什么?提前致谢 !

回答

2

越来越多的进程将挂起等待超时。

+0

非常感谢。我在这里看到你的帖子:https://superuser.com/questions/699432/gnu-parallel-hangs-as-one-process-is-sleeping。所以我改变了我的代码,它会起作用吗? cat listDomainNames.txt | parallel --timeout 200%--no-notice -j0 --workdir $ PWD ./testMX.sh – Arthur

+1

是。如果你能忍受一些错误的否定,那么这应该是一个很好的解决方案(并且考虑运行'parallel --bibtex'一次)。 –

-1

也许对result.csv的追加变得更加昂贵,因为你必须打开一个更大的文件。尝试将结果写入分隔文件并在之后进行合并。

+0

我不认为这是这里的问题。我已经在一个没有这个问题的文件中编写了数百万次剧本... – Arthur

相关问题