Inferior Shell or UIOP: Interacting with backgroun

2019-06-23 08:21发布

So, I got past actually getting a program to run from SBCL Lisp using inferior-shell (presumably UIOP would be just fine). Anyway, now that I can do that, I still have no clue how to interact with the program if it is running in the background.

All of this functionality like pipes and streams connected to the stdin and stdout of the running program are advertised, just not documented. It would seem like this is the most basic thing to do.

Does anybody have an example of doing such a thing?

Any help is appreciated.

-Todd

1条回答
放我归山
2楼-- · 2019-06-23 08:33

Have you looked at the SBCL manual? The options for RUN-PROGRAM are documented there: http://www.sbcl.org/manual/#Running-external-programs

I think you just need to create streams and pass them to RUN-PROGRAM via the :input, :output, and :error arguments.

Here is an example where I give RUN-PROGRAM stream arguments to execute gnuplot (although I'm not leaving the input stream open as you want). https://github.com/belambert/cl-gnuplot/blob/master/src/gnuplot.lisp#L18

查看更多
登录 后发表回答