Попытка перенаправить вывод подпроцесса в файл.
server.py:
while 1:
print "Count " + str(count)
sys.stdout.flush()
count = count + 1
time.sleep(1)
Лаучер:
cmd = './server.py >temp.txt'
args = shlex.split(cmd)
server = subprocess.Popen( args )
Вывод появляется на экране, temp.txt
остается пустым.
Что я делаю не так?
В качестве фона я пытаюсь зафиксировать вывод уже написанной программы.
Я не могу использовать:
server = subprocess.Popen(
[exe_name],
stdin=subprocess.PIPE, stdout=subprocess.PIPE)
, так как программа может не сбрасываться.
Вместо этого я собирался перенаправить вывод через fifo. Это нормально работает, если я запускаю server.py вручную, но, очевидно, нет, если я Popen ()
причина перенаправления не работает.
ps -aux
показывает, что server.py
был запущен правильно.