shell - clojure:异步生成进程

标签 shell clojure

使用 clojure.java.shell/sh 可以执行 shell 命令。调用的进程完成后,该函数返回一个包含其退出代码、std-out 和 std-err 字符串的映射。

如何从生成进程启动的那一刻起捕获它的 stdout/-err?并且:如何从 clojure 程序/repl 中终止该进程?

最佳答案

据我所知,clojure.java.shell/sh 不可能。您可以看看Raynes/conch其中提供 features you ask for (启动后立即获取输出等)

您还可以使用 java.lang.ProcessBuilder DIY和 java.lang.Process您可以完全访问 process's input streama method to terminate it .

关于shell - clojure:异步生成进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36330694/

相关文章:

git - 为什么 "git submodule add ..."写入 stderr 而不是 stdout?

shell - Shell 脚本中是否有类似 C++ 中的 "include guard"的机制?

clojure - Clojure 中的资源尝试

java - Lisp : Don't know how to create ISeq from Java. lang.Integer

linux - 连接后无法在主机上正确运行脚本

linux - 如何分离 bash 文件生成的每个命令的输出?

postgresql - 为什么我的 Clojure 应用程序需要_分钟_才能连接到 Postgres?

带有 Slime 和 Swank 的 Emacs 用于非 leiningen 项目

Clojure 值相等和集合

linux - 如何使用shell脚本删除文本文件中具有相同单词且数字连续增加的字符串?