Question

Sur Ubuntu je compilé sbcl 1.0.35 avec filetage. Je peux heureusement utiliser sbcl de la ligne de commande et mon site hunchentoot travaille avec filetage mais quand je dconnecter il est parti. Lorsque je tente de nohup sbcl

nohup ./src/runtime/sbcl --core sortie / sbcl.core

Je reçois

(SB-IMPL :: SIMPLE-STREAM-PERROR "ne pouvait pas lire ~ S" # 9)

Je l'ai essayé différentes combinaisons de rediriger l'entrée standard vers / dev / null ou un fichier et en utilisant l'option de ligne de commande de script, mais je ne suis pas tout à fait ce qui se passe.

Comment puis-je commencer sbcl de la ligne de commande sous Linux avec nohup et garder mon rempl (site web) Course à pied?

Était-ce utile?

La solution 3

Dmity-vk m'a envoyé sur la bonne voie, je vous remercie. SBCL essaie de démarrer une rempl lorsque vous le lancez, et lit de la norme. Lorsque vous utilisez nohup la norme en est redirigé et ne peut pas être lu. SBCL tombe alors au débogueur qui essaie de lire standard ... donc la boucle sans fin. La balise --script se rapproche de la résolution de ce sauf qu'il a une (quit) fois a été lu le script. Donc, je mets une boucle sans fin dans mon script et le tour est joué.

sur un serveur ubuntu avec sbcl cela devrait vous permettre de démarrer un serveur hunchentoot

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

où foo.lisp a pour sa dernière ligne quelque chose comme

(defvar *alive* t)

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

Autres conseils

RESTAS-framework web ( "REST Application Server") par Andrey Moskvitin contient le code pour bien daemonize exemple SBCL. Voir http://github.com/archimag/restas/blob /master/contrib/restas-daemon.lisp. Vous pouvez facilement arnaquer pièces spécifiques RESTAS.

Vous pouvez commencer SBCL Gnu écran puis détacher de la session.

Cela vous donne également la possibilité de remettre en place à votre REPL plus tard.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top