所以,我实际上得到了一个程序,使用劣质shell从SBCL Lisp运行(可能是UIOP会很好)。无论如何,既然我可以做到这一点,我仍然不知道如果它在后台运行,如何与程序进行交互。
所有这些功能,如连接到正在运行的程序的stdin和stdout的管道和流,都会被公布,只是没有记录。看起来这是最基本的事情。
有人有这样做的例子吗?
感谢任何帮助。
-Todd
答案 0 :(得分:1)
你看过SBCL手册了吗? RUN-PROGRAM
的选项记录在那里:
http://www.sbcl.org/manual/#Running-external-programs
我认为您只需创建流并通过RUN-PROGRAM
,:input
和:output
参数将其传递给:error
。
这是一个示例,我给RUN-PROGRAM
个流参数执行gnuplot
(虽然我不会让输入流保持打开状态)。
https://github.com/belambert/cl-gnuplot/blob/master/src/gnuplot.lisp#L18