SBCL nohupをUbuntuは標準入力から読み込むことができませんでした

StackOverflow https://stackoverflow.com/questions/2458805

  •  20-09-2019
  •  | 
  •  

質問

Ubuntuの私には、スレッドとsbclの1.0.35をコンパイル。私は喜んで、コマンドラインからSBCLを使用することができますし、私のhunchentootのウェブサイトは、スレッドで動作しますが、私はそれがなくなってログアウトするとき。私はSBCLをnohupをしようとすると、

nohupを./src/runtime/sbcl --core出力/ sbcl.core

私が取得

(SB-IMPL :: SIMPLE-STREAM-PERROR "から読み取ることができませんでした〜S" #9)

私はは/ dev / nullに、標準入力またはファイルをリダイレクトし、スクリプトのコマンドラインオプションを使用しての様々な組み合わせを試みたが、私は非常に何が起こっているかを得ることはありません。

どのように私はnohupをしてLinux上でコマンドラインからSBCL開始し、私のREPL(ウェブサイト)ランニングを続けるのですか?

役に立ちましたか?

解決 3

Dmity-VKは、右のトラックに私を送った、ありがとうございました。 SBCLは、あなたがそれを起動REPLを起動しようとすると、内標準から読み込みます。あなたがリダイレクトされるでnohup標準を使用して読み取ることができないとき。 SBCLはその後で...ので、無限ループの標準から読み取ろうとデバッガに落ちます。 --scriptタグはスクリプトが読み込まれた後、それは(quit)を持っていることを除いて、これを解決するに近づきます。だから私は私のスクリプトと出来上がりに無限ループを置きます。

これはあなたがhunchentootサーバを起動させてくださいSBCLとUbuntuのサーバー上のように、

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アンドレイMoskvitinによるウェブ・フレームワーク(「RESTアプリケーション・サーバー」)が正しくSBCLインスタンスをデーモン化するためのコードを含んでいます。 http://github.com/archimag/restas/blobを参照してください。 /master/contrib/restas-daemon.lispする。あなたは簡単にRESTAS-特定の部分をオフにリッピングすることができます。

あなたはヌー画面のでSBCLを開始し、その後のセッションから切り離すことができます。

また、これはあなたのREPL後でに再接続する可能性を与えます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top