所以,我实际上已经通过使用底层shell(大概UIOP就可以了)从SBCL Lisp获得了一个程序。不管怎样,现在我可以这样做了,但如果程序在后台运行,我仍然不知道如何与它交互。
所有这些功能,如连接到运行程序的标准输入和标准输出的管道和流,都是公开的,只是没有记录。这似乎是最基本的事情。
谁有这样做的例子吗?
任何帮助都是感激的。
托德
您看过SBCL手册吗?RUN-PROGRAM
的选项记录在这里:http://www.sbcl.org/manual/Running-external-programs
我认为您只需要创建流并通过:input
, :output
和:error
参数将它们传递给RUN-PROGRAM
。
这里是一个例子,我给RUN-PROGRAM
流参数来执行gnuplot
(尽管我没有像你想的那样打开输入流)。https://github.com/belambert/cl-gnuplot/blob/master/src/gnuplot.lisp就是