<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><style><!--
/* Font Definitions */
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"MS UI Gothic";
        panose-1:2 11 6 0 7 2 5 8 2 4;}
@font-face
        {font-family:"\@MS UI Gothic";
        panose-1:2 11 6 0 7 2 5 8 2 4;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        mso-fareast-language:ZH-CN;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        mso-fareast-language:ZH-CN;}
code
        {mso-style-priority:99;
        font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Sprechblasentext Zchn";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        mso-fareast-language:ZH-CN;}
span.SprechblasentextZchn
        {mso-style-name:"Sprechblasentext Zchn";
        mso-style-priority:99;
        mso-style-link:Sprechblasentext;
        font-family:"Tahoma","sans-serif";
        mso-fareast-language:DE;}
span.E-MailFormatvorlage21
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.E-MailFormatvorlage22
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang="DE" link="blue" vlink="purple"><div class="WordSection1"><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p><div><div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm"><p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Von:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Andreas Thiele [mailto:andreas@atp-media.de] <br><b>Gesendet:</b> Montag, 22. Juli 2013 10:54<br><b>An:</b> '</span><span lang="ZH-CN" style="font-size:10.0pt;font-family:SimSun">Áõ†</span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">'<br><b>Betreff:</b> AW: [Openmcl-devel] how to deploy a image with swank run as a daemon?<o:p></o:p></span></p></div></div><p class="MsoNormal"><o:p> </o:p></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">You could write a batch program or shell script to do the startup. If you insist on Lisp doing the job, you might write another lisp program which does this startup.<o:p></o:p></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p><div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt"><div><div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm"><p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Von:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> </span><span lang="ZH-CN" style="font-size:10.0pt;font-family:"MS UI Gothic","sans-serif"">Áõ†</span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> [<a href="mailto:whitelilis@gmail.com">mailto:whitelilis@gmail.com</a>] <br><b>Gesendet:</b> Montag, 22. Juli 2013 04:38<br><b>An:</b> Andreas Thiele<br><b>Betreff:</b> Re: [Openmcl-devel] how to deploy a image with swank run as a daemon?<o:p></o:p></span></p></div></div><p class="MsoNormal"><o:p> </o:p></p><div><p class="MsoNormal" style="margin-bottom:12.0pt">the following 3 method do what I wish:<br>1,   screen<br>2,   detachtty<br>3,  ./image </dev/null &<br>but I want  only    ./image<br><br>the image i generate by following:<br><br>(defun save-image (path &key function-before-repl (swank-port 8005))<br>  "Save executable image to path"<br>  (setf swank:*log-output* nil)<br>  (let ((toplevel-function #'(lambda ()<br>                               (swank:create-server :port swank-port :style :spawn :dont-close t :coding-system "utf-8-unix")<br>                               (when function-before-repl<br>                                 (funcall function-before-repl))<br>                               (ccl:toplevel-loop))))<br>    (ccl:save-application path :toplevel-function toplevel-function :prepend-kernel t)))<br><br><o:p></o:p></p></div><div><p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p><div><p class="MsoNormal">2013/7/19 Andreas Thiele <<a href="mailto:andreas@atp-media.de" target="_blank">andreas@atp-media.de</a>><o:p></o:p></p><div><div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I am not sure if I understand you correctly. I use the unix program screen to run my lisp application ¡°as daemon¡± C I mean as a long running background process. I find this very handy. If I want to use slime/swank, I attach to the screen session, load swank and start a server. Rem: I have several processes running within the image so the repl is always free and accessible.</span><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hope this helps.</span><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Andreas</span><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p><div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt"><div><div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm"><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Von:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> <a href="mailto:openmcl-devel-bounces@clozure.com" target="_blank">openmcl-devel-bounces@clozure.com</a> [mailto:<a href="mailto:openmcl-devel-bounces@clozure.com" target="_blank">openmcl-devel-bounces@clozure.com</a>] <b>Im Auftrag von </b>??<br><b>Gesendet:</b> Montag, 15. Juli 2013 03:07<br><b>An:</b> <a href="mailto:openmcl-devel@clozure.com" target="_blank">openmcl-devel@clozure.com</a><br><b>Betreff:</b> [Openmcl-devel] how to deploy a image with swank run as a daemon?</span><o:p></o:p></p></div></div><div><div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p><div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I want to deploy a Lisp image which is runnable with Swank. This can be done by using the image dump function provided by lisp implementations. But how can it run as a daemon? <o:p></o:p></p><p><code><span style="font-size:10.0pt">Detachtty</span></code> does a good job, but when I deploy, detachtty is required by the user; I don't like this solution, I just want a standalone one.<o:p></o:p></p><p>Restas-daemon and sb-daemon may be another choice, but both are SBCL-related. Is there a portable solution, or one just for Clozure CL?<o:p></o:p></p><p>I tried the <code><span style="font-size:10.0pt">daemon</span></code> library from quicklisp too, but when I started Swank in it, it hung. I could see in the proc file system that the socket file descriptors were destroyed.<o:p></o:p></p><p>Now I have no idea.<o:p></o:p></p><p>Does anyone have something to advise?<o:p></o:p></p></div></div></div></div></div></div></div><p class="MsoNormal"><o:p> </o:p></p></div></div></div></body></html>