title: Python BaseManager subprocess won't terminate even when the parent process dies?
body: <p>Situation:</p>
  
  <p>I am using <code>multiprocessing.managers.BaseManager([address[, authkey]])</code> for python cross-process communication. I am having two scripts now, one serves as a base manager server which runs <code>BaseManager.start()</code> and one serves as a client to read the data from the server`.</p>
  
  <p>Obstacle:</p>
  
  <p>When I run the server script, two python.exe with different PID can be seen from my Windows Task Manager. As I can understand, one is the main(parent) process and one is the spawned subprocess from <code>BaseMange.start()</code>. This is fine.</p>
  
  <p>I found that if I kill the main process' python.exe the BaseManager's python.exe will <strong>still be alive</strong>.</p>
  
  <p>Reason that I am doing this is because I need to launch/ kill python scripts form NodeJS using require(child-process).spawn which will <strong>only kill the main process</strong>.</p>
  
  <p>According to <a href="https://docs.python.org/2/library/multiprocessing.html" rel="nofollow noreferrer">the documentation</a>. It says <strong>Manager processes will be shutdown as soon as they are garbage collected or their parent process exits</strong> which does not match what I've seen from Windows Task Manager. Providing detail information and code helps a lot. Thanks!</p>