A chave para executar um processo em segundo plano não é criar uma ação que dependa do resultado do processo.
Por exemplo, isso não funcionará:
p = Popen(['ls', '-R', '/'], stdout = PIPE, stderr = PIPE)
Mas isso vai funcionar:
p = Popen(['ls', '-R', '/'])