now uses subprocess.Popen for darwin if subprocess.check_output fails