在Ubuntu的我编译SBCL 1.0.35用螺纹。我可以愉快地使用SBCL在命令行中,我的hunchentoot网站可与线程,但是当我注销就不见了。当我尝试NOHUP SBCL

的nohup ./src/runtime/sbcl --core输出/ sbcl.core

我得到

(SB-IMPL :: SIMPLE-STREAM-PERROR “无法从读取〜S” #9)

我已经尝试了标准输入重定向到的各种组合的/ dev / null或一个文件,并使用脚本的命令行选项,但我不太得到什么是怎么回事。

我如何从命令行启动SBCL在Linux上使用的nohup和保持我的REPL(网站)运行?

有帮助吗?

解决方案 3

Dmity-VK送我在正确的轨道上,谢谢。 SBCL试图启动,当您启动它一个REPL,并从标准的读取。当您使用重定向nohup标准,不能读取。 SBCL然后下降到其尝试从......因此,无限循环的标准来读取调试器。该--script标签接近解决这一不同之处在于它有一个(quit)一旦剧本已被读取。所以我把无限循环中我的剧本,瞧。

因此与SBCL一个Ubuntu服务器上这应该让你开始hunchentoot服务器

sudo nohup ./run-sbcl.sh --script foo.lisp > /dev/null 2> /dev/null &

其中foo.lisp具有作为其最后行类似

(defvar *alive* t)

(loop (sleep 1000) (if (not *alive*) (quit)))

其他提示

RESTAS web的框架(“REST应用服务器”)由安德烈Moskvitin包含的代码正确地守护进程SBCL实例。请参见 http://github.com/archimag/restas/blob /master/contrib/restas-daemon.lisp 。你可以很容易地撕掉特定RESTAS零件。

您可以在牛羚屏幕启动SBCL,然后从会话分离。

这也让你重新连接到您的REPL以后的可能性。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top