Python Subprocess Popen con Pyinstaller

Yo uso ffmpeg para convertir algunos videos. Estoy llamando comando con subprocess.Popen (…)

si = subprocess.STARTUPINFO() si.dwFlags |= subprocess.STARTF_USESHOWWINDOW self.my_pro = subprocess.Popen(cmd, stdin=subprocess.PIPE, stderr=subprocess.PIPE, startupinfo=si) (output, error) = self.my_pro.communicate() 

y mato con este método

 self.my_pro.kill() 

Es okey sin comstackr a exe.

Pero compilé con pyinstaller con --noconsole subprocess no funciona. Debo cambiar subprocess.Popen(...) por subprocess.check_output(...)

Pero esta vez no puedo matar el proceso con self.my_pro.kill() esto no funciona.

¿Cómo puedo ejecutar el proceso con el que puedo matar y ejecutará pyinstaller noconsole?

Como escribió @jfs, con Popen tienes que redirigir todo. Olvidaste stdout

Así que este código ya no falla para mí:

 si = subprocess.STARTUPINFO() si.dwFlags |= subprocess.STARTF_USESHOWWINDOW self.my_pro = subprocess.Popen(cmd, stdin=subprocess.PIPE, stderr=subprocess.PIPE, stdout=subprocess.PIPE, startupinfo=si)