Как вы читаете в программе Clojure из стандартного вывода? Я хочу сделать это или направить стандартный вывод во входной поток, который я создаю. Стандартный вывод в Clojure — это java.io.PrintWriter .
У меня есть работа Samza, запущенная программой Clojure. Также есть сервер nrepl, к которому я могу подключиться удаленно. После подключения мне нужно иметь возможность подключиться к стандарту и выйти из него (в который задания записывают свои выходные данные).
1) В соответствии с этим вопросом SO, with-out-str
(см. здесь) позволяет нам временно привязать *out*
(к java.io.StringWriter), чтобы ваш исполняемый код записывался в строку. Но это не позволяет мне подключиться к существующему *out*
.
2) Если вы посмотрите на clojure.java.shell (см. здесь), он получает среду выполнения JVM и выполняет на ней процесс. Из этого процесса вы можете получить его стандартный поток вывода. Но опять же, это не стандартный выход по умолчанию (*out*
), который я ищу.
3) Этот SO вопрос приближается к тому, что я пытаюсь сделать. Но опять же, я подключаюсь к существующему процессу и хочу отключить его стандартный вывод.
Возможно ли это в Clojure (см. здесь)? Кто-нибудь решил это?
/proc/{pid}/fd/1
, который является стандартным выводом этого процесса. Точно так же/proc/{pid}/fd/2
является stderr. - person Peter Lawrey   schedule 08.11.2016ls | my-clj
, и чтобы my-clj читал вывод ls? Если это так, просто используйте stackoverflow.com/questions/18688755/ - person Alan Thompson   schedule 08.11.2016