title: Can a subprocess started by `start-process` outlive the parent emacs process?
body: <p>I am writing some code in Emacs Lisp where I want to start a subprocess using <code>start-process</code> or a similar function. However, when the parent emacs process exits, I don't want the subprocess to exit. However, it seems that exiting the parent emacs process always kills all the subprocesses as well. The following code snippet demonstrates this:</p>
  
  <pre><code>(require 'async)
  (async-sandbox
   (lambda () 
     (require 'package)
     (package-initialize)
     (require 'async)
     (shell-command "{ echo -n 'SPAWNING: '; date; } &gt; ~/temp/ASYNC_LOG")
     (start-process-shell-command "subproc" nil
      "{ echo -n 'STARTED: '; date; } &gt;&gt; ~/temp/ASYNC_LOG;
       sleep 5;
       { echo -n 'FINISHED: '; date; } &gt;&gt; ~/temp/ASYNC_LOG;")
     (shell-command "{ echo -n 'SPAWNED: '; date; } &gt;&gt; ~/temp/ASYNC_LOG")
     (shell-command "sleep 2")
     (shell-command "{ echo -n 'FINISHED WAITING: '; date; } &gt;&gt; ~/temp/ASYNC_LOG")
     ))
  </code></pre>
  
  <p>This code spawns one emacs process synchronously <code>(async-sandbox (lambda () ...)</code> so that we can quit that process to trigger the problem. That process then spawns a subprocess asynchronously <code>(start-process-shell-command ...)</code>. The parent process sleeps for 2 seconds, while the subprocess sleeps for 5, so the parent process will exit first. When I run this code, I never see the "FINISHED" line in the log file, indicating that the subprocess is killed after 2 seconds. If I change the parent to wait for 7 seconds, then I see the FINISHED line in the output.</p>
  
  <p>So is there any similar way to start a subprocess so that it won't be killed when its parent exits?</p>