title: Python: Why does subprocess() start 2 processes in Ubuntu, and 1 in OpenSUSE?
body: <p>I've written small gui-frontend in Python that lets users play internet radio channels. The program uses Pythons subprocess() to initizalize mplayer in order to tune into a channel, e.g.:</p>
  
  <pre><code>runn = "mplayer http://77.111.88.131:8010"
  p = subprocess.Popen(runn, shell=True)
  pid = int(p.pid)
  wait = os.waitpid(p.pid, 1)</code></pre>
  
  <p>Then saves p.pid, and when a user wants to stop listening the following code is used:</p>
  
  <pre><code>os.kill(p.pid, 9)</code></pre>
  
  <p>This works perfectly in OpenSUSE, but not in Ubuntu. It seems that Ubuntu actually starts two separate processes. Terminal output:</p>
  
  <p>Opensuse 11.3:</p>
  
  <pre><code>$ pgrep mplayer
  22845
  </code></pre>
  
  <p>Ubuntu 10.04:</p>
  
  <pre><code>$ pgrep mplayer
  22846
  22847
  </code></pre>
  
  <p>This also applies when running other programs. Does anyone know why? I really want this app to run on all distros, so any help is deeply appreciated.</p>