title: Using join() on Processes created using multiprocessing in python
body: <p>I am using multiprocessing module's Process class to spawn multiple processes, those processes execute some script and then dies.What I wanted, a timeout to be applied on each process, so that a process would die if cant execute in time <strong>timeout</strong>. I am using <code>join(timeout)</code> on Process objects.
  <code>Since the join() function doesn;t kill the process, it just blocks the process until it finishes</code></p>
  
  <p>Now my question : Is there any side-effects of using <code>join()</code> with <code>timeout</code> ..like, would the processes be cleaned automatically, after the main process dies ?? or I have to kill those processes manually ??</p>
  
  <p>I am a newbie to python and its multiprocessing module, please be patient.</p>
  
  <hr>
  
  <p>My Code, which is creating Processes in a for loop ::</p>
  
  <pre><code>q = Queue()
  jobs = [
          Process(
              target=get_current_value,
              args=(q,),
              kwargs=
              {
                  'device': device,
                  'service_list': service_list,
                  'data_source_list': data_source_list
                  }
              ) for device in device_list
          ]
  for j in jobs:
          j.start()
  for k in jobs:
          k.join()
  </code></pre>