Clojure でキャプチャして処理したい出力を長時間実行している Unix プロセスがあります。そのようなプロセスの 1 つの良い例は、repl-y / nREPL セッションです。その期間は無期限であり、出力は stdout に出力されます。
試してみると(clojure.java.io/sh "lein" "repl")
、基になるプロセスが終了するまで評価がブロックされ、その後、出力を観察できます。
これは私が望んでいるものではありません。代わりに、すぐにストリームを取得したいのです。
clojure.java.io または同様の既存の Clojure ツールを使用してこれを実現できますか? それ以外の場合は、Java に頼っても構いません。