如何使用Swank部署Lisp镜像并作为守护进程运行

8
如标题所述,我想部署一个可运行 Swank 的 Lisp 镜像。这可以通过使用 Lisp 实现提供的映像转储功能来完成。但是如何将其作为守护进程运行呢?
Detachtty 做得很好,但在部署时需要用户安装 Detachtty,我不喜欢这个解决方案,我想要一个独立的解决方案。
Restas-daemon 和 sb-daemon 可能是另一个选择,但都与 SBCL 相关。是否有一种便携式的解决方案,或者只针对 Clozure CL?
我也尝试了 quicklisp 中的 daemon 库,但在其中启动 Swank 时出现了挂起情况。我可以在 proc 文件系统中看到套接字文件描述符被销毁。
现在我无头绪了。
是否有人有什么建议?
2个回答

1
您可能想尝试 cl-daemonize。根据描述,“这是一个无需screen/detachtty即可将Lisp进程转换为守护进程的工具”。

1
如果您想将其守护化,可以在SBCL下使用sb-posix:fork执行双重fork(请参见创建守护进程时执行双重fork的原因是什么?)。我相信其他实现也有POSIX API。
如果您只想在注销后使Lisp进程在系统运行时继续运行,则使用GNU screen。它允许您分离而不终止(Lisp)进程。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接