문제

우분투에서 스레딩으로 SBCL 1.0.35를 편집했습니다. 명령 줄에서 행복하게 SBCL을 사용할 수 있으며 HunchEntoot 웹 사이트는 스레딩과 함께 작동하지만 로그 아웃하면 사라졌습니다. sbcl을 nohup하려고 할 때

nohup ./src/runtime/sbcl-- 코어 출력/sbcl.core

나는 얻다

(sb-impl :: simple-stream-perror "~ s" # 9에서 읽을 수 없음)

표준 입력을 /dev /null 또는 파일로 리디렉션하고 스크립트 명령 줄 옵션을 사용하는 다양한 조합을 시도했지만 무슨 일이 일어나고 있는지는 얻지 못합니다.

Nohup을 사용하여 Linux의 명령 줄에서 SBCL을 시작하고 Repl (웹 사이트)을 계속 실행하려면 어떻게해야합니까?

도움이 되었습니까?

해결책 3

DMity-VK가 저를 올바른 길로 보냈습니다. 감사합니다. SBCL은 시작할 때 대체를 시작하려고 시도하고 표준에서 읽습니다. nohup 표준 IN은 리디렉션되며 읽을 수 없습니다. 그런 다음 SBCL은 Debugger로 떨어져 표준에서 읽으려고합니다 ... 따라서 끝없는 루프. 그만큼 --script 태그는 (quit) 스크립트가 읽히면 그래서 나는 내 스크립트와 Voila에 끝없는 루프를 넣었습니다.

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)))

다른 팁

Andrey Moskvitin의 Restas Web-Framework ( "REST Application Server")에는 SBCL 인스턴스를 올바르게 데모어로 만들기위한 코드가 포함되어 있습니다. 보다 http://github.com/archimag/restas/blob/master/contrib/restas-daemon.lisp. Restas 특이 적 부품을 쉽게 찢을 수 있습니다.

SBCL을 시작할 수 있습니다 GNU 화면 그런 다음 세션에서 분리하십시오.

이것은 또한 나중에 당신의 대체에 reattach를 다시 만들 수있는 가능성을 제공합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top