如何执行系统命令?

时间:2011-07-18 14:58:17

标签: clojure

如何执行特定于系统的命令并在Clojure中获取响应?例如,我们假设我们在Linux机器上,如何调用topfree,并获得结果以便进一步处理?

2 个答案:

答案 0 :(得分:71)

(use '[clojure.java.shell :only [sh]])
(sh "free")
(sh "top" "-bn1")

另请参阅:http://clojuredocs.org/clojure_core/clojure.java.shell/sh

答案 1 :(得分:12)

您应该能够使用Java Runtime.exec方法,如下所示:

(import 'java.lang.Runtime)

(. (Runtime/getRuntime) exec "your-command-line-here")

Runtime.exec方法返回一个Process对象,您可以根据需要查询该对象以获取标准输出等。