nohup的SBCL的ubuntu无法从标准输入读取
题
在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以后的可能性。