所以,我已经通过使用inferior-shell从SBCL Lisp运行程序了(UIOP应该也可以)。无论如何,现在我仍然不知道如何与正在后台运行的程序进行交互。
所有这些功能,如连接到正在运行的程序的stdin和stdout的管道和流,都有广告,但没有文档说明。看起来这是最基本的事情。
有人有做这样事情的例子吗?
任何帮助将不胜感激。
-Todd
所有这些功能,如连接到正在运行的程序的stdin和stdout的管道和流,都有广告,但没有文档说明。看起来这是最基本的事情。
有人有做这样事情的例子吗?
任何帮助将不胜感激。
-Todd
sb-ext:run-program
,它允许您异步启动进程并将输入和输出流连接到它。然后,在程序的生命周期中,您可以使用流与其进行通信(例如,启动gnuplot
并使用同一进程运行和绘图而不是一直重启它)。在可移植的方式中,我只看到了同步的方法:启动进程并传递启动参数-等待进程完成。 - mobiusengEAZY-PROCESS
库可以轻松创建管道和异步进程,但是有意地不支持流。一切都基于文件和文件描述符。虽然您可以使用临时文件。 - coredump