title: Python multiprocessing: more processes than requested
body: <p>Why do I see so many python processes running (in <code>htop</code> on <code>RHEL 6</code>) for the same script when I only use 1 core?</p>
  
  <p><img src="https://i.stack.imgur.com/eQ2KE.png" alt="enter image description here"></p>
  
  <p>For each task, I init a worker class that manages the processing. It does init other classes, but not any subprocesses:</p>
  
  <pre><code>    tasks = multiprocessing.JoinableQueue()
      results = multiprocessing.Queue()
  
      num_consumers = 1
  
      consumers = [Consumer(tasks, results) for i in xrange(num_consumers)]
      for i, consumer in enumerate(consumers):
          logger.debug('Starting consumer %s (%i/%i)' % (consumer.name, i + 1, num_consumers))
          consumer.start()
  </code></pre>
  
  <p>Note, <code>atop</code> shows the expected number of processes (in this case 2: 1 for the parent and 1 for the child). The %MEM often adds up to well over 100% so I gather I'm misunderstanding how multiprocessing or htop works.</p>