title: Create process in tornado web server
body: <p>I have a multiproccessing tornado web server and I want to create another process that will do some things in the background.</p>
  
  <p>I have a server with to following code</p>
  
  <pre><code>start_background_process
  app = Application([&lt;someurls&gt;])
  server = HTTPServer(app)
  server.bind(8888)
  server.start(4)  # Forks multiple sub-processes
  IOLoop.current().start()
  
  def start_background_process():
      process = multiprocessing.Process(target=somefunc)
      process.start()
  </code></pre>
  
  <p>and everything is working great.
  However when I try to close the server (by crtl c or send signal)
  I get <code>AssertionError: can only join a child process</code></p>
  
  <p>I understood the cause of this problem:
  when I create a process with multiprocess a call for the process join method
  is registered in "atexit" and because tornado does a simple fork all its childs also call the join method of the process I created and the can't since the process is their brother and not their son?
  So how can I open a process normally in tornado?</p>