Попытка перенаправить вывод подпроцесса в файл.
server.py:
while 1:
print "Count " + str(count)
sys.stdout.flush()
count = count + 1
time.sleep(1)
Laucher:
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
был запущен правильно.