РЕДАКТИРОВАТЬ: до уточнения
Вы можете заключить команду оболочки в sh, а затем передать / dev / null следующим образом:
(clojure.java.shell/sh "sh" "-c" "echo hello > /dev/null")
;; {:exit 0, :out "", :err ""}
Это будетВыключите вывод перед тем, как закрыть.
РЕДАКТИРОВАТЬ: После уточнения
Передача вывода и stderr на печать должна работать, пока вывод выходит достаточно быстро.Если вы хотите что-то с непрерывным выводом сообщений об ошибках и стандартным выводом, поиск источника функции sh может помочь.
Лично я бы сделал свою собственную версию clojure.java.shell/sh идля каждого потока создайте поток, который направляет вывод непосредственно в out , используя что-то вроде IOUtils.copy из org.apache.commons.io.IOUtilsin