Как сказано выше, вы не можете изменить дескриптор файла, в который дочерний процесс записывает свой вывод.
Что вы можете сделать, это прочитать выходные данные дочернего процесса в вашем скрипте Python и затем записать его обратно в любой файл, который вы хотите. E.g.:
proc = subprocess.Popen(path, 0, None, subprocess.PIPE, subprocess.PIPE, None)
for l in proc.stdout.readlines():
output_file.write(l)
Очевидно, вам нужно выяснить, как должен вести себя элемент управления в вашем приложении, т.е. можете ли вы писать из основного потока, когда основной поток должен вернуться из StartProc()
в этом случае, или вам нужно выполните запись из другого потока, чтобы основной поток мог немедленно вернуться из StartProc()
.