我正在并行化一些具有彩色输出的0-args命令(脚本/其他),但是当并行打印输出时它是无色的(除非我使用Observable.interval(5, TimeUnit.MINUTES)
.flatMap(count -> this.restApi.storeCollection(id, page))
// etc.
选项,但它是无序的)。
有没有办法改变它?
我正在使用的线(插图):
-u
BTW,我使用的是本地版本的GNU parallel,但它应该或多或少相同。
由于
答案 0 :(得分:2)
原因是您的命令行工具检测到它们没有打印到终端(GNU Parallel在将它们打印到终端之前保存到临时文件中)。有些工具即使输出到文件也可以强制颜色:
parallel 'echo {} | grep --color=always o' ::: joe
你可以要求GNU Parallel给脚本提供tty:
parallel --tty -j+0 'echo {} | grep o' ::: joe
--tty
默认为-j1
,因此您必须明确覆盖它。它也有问题,GNU Parallel无法杀死这些工作。这将持续10秒:
parallel --tty --timeout 5 sleep ::: 10