我想运行一个外部进程并将其stdout和stderr立即传送到stdout,没有任何缓冲(至少不是行缓冲)。使用行缓冲,这并不困难:
val cmd: String = ...
cmd ! ProcessLogger(println,println)
但是,我怎么能这样做才能在输出之前等待整行呢?问题是我正在运行的进程有一个百分比输出不断更新,但是当我使用类似上面的东西时,它会等待一段时间然后最终输出100%
。
我调查了ProcessIO
和有用的BasicIO
同伴,但我还没有设法让任何工作端到端。