Форум сайта python.su
0
Пишу вот так
pc = Popen('start cmd /K' + zapros, shell=True)
while True: print pc.wait() time.sleep(1)
Офлайн
0
подскажите хоть куда курить-то, я не понимаю почему не работает..
Офлайн
253
DathyНу наверное так и есть.
метод is_alive() возвращает False
pc = Popen(zapros, shell=True)
pc = Popen(zapros)
Офлайн
36
DathyВсе работает. cmd /K запускает новую консоль (процесс) и завершает работу, а новая консоль (процесс) живет своей жизнью.
я не понимаю почему не работает..
doza_andЭто будет PID завершенного процесса, поэтому смотреть на него не интересно :)
Посмотрите pid процесса который запустили
doza_andИногда возникает необходимость видеть результат выполнения запущенного дочернего процесса и при этом не портить вывод родительского процесса.
И ваша идея непонятна start да еще cmd /K зачем этот огород?
import subprocess as sp DETACHED_PROCESS = 0x00000008 p = sp.Popen(zapros, shell=True, creationflags=DETACHED_PROCESS)
Отредактировано pyuser (Март 2, 2016 03:23:19)
Офлайн
253
pyuserКак раз интересно, он должен увидеть что процесса нет. Чел спросил куда смотреть. Смотреть надо на то что и в каком порядке запускалось :).
Это будет PID завершенного процесса, поэтому смотреть на него не интересно :)
pyuserА не проще унаследовать с другим stdout или перенаправить результат в файл? Но допускаю, что это дело привычки.
видеть результат выполнения запущенного дочернего процесса
Отредактировано doza_and (Март 2, 2016 20:37:38)
Офлайн