Найти - Пользователи
Полная версия: асинхронный запуск внешней программы
Начало » Python для экспертов » асинхронный запуск внешней программы
1 2
Striver
погуглил на эту тему, нашел 2 способа:
os.spawnl(os.P_NOWAIT,'command.cmd')
и
subprocess.Popen('command.cmd')
версиях 2.4 и 2.5 работают оба способа, а в 3.1 только через subprocess. При попытке применить spawnl вылазит радостное сообщение от микрософта: “python31.exe - обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства.” Может его как-то по-другому применять надо?
igor.kaist
Почему бы просто subprocess не использовать?
Striver
igor.kaist:Почему бы просто subprocess не использовать?
Ну так я и оставил его. Хотелось узнать просто, может я чего не понял в доках по os.spawn, раз ошибка вылазит…
bialix
баг в питоне.
o7412369815963
bialix
баг в питоне.
какой?
Striver
bialix: баг в питоне.

Ну, я так и подумал в общем. Но до сих пор на такие баги не натыкался, вот и были сомнения.

Ещё вопрос (хотя, возможно, он уже не имеет отношения к питону).
Этот command.cmd запускает TheBat и пихает в него несколько писем в исходящие. И пока пользователь не закроет TheBat, окно консоли с текстом этого command.cmd торчит на экране. Можно ли это как-то победить?
sypper-pit
my_script.pyw в место my_script.py пробывл ?
Striver
sypper-pit: my_script.pyw в место my_script.py пробывл ?

Дык так и работает. Сначала программа вообще без окон работает, работа заключается в формировании этого command.cmd. Ближе к концу выдаёт win32api.MessageBox для информации о проделанной работе, а затем этот command.cmd выполняет. Окно консоли вылазит уже после MessageBox.
Striver
Вопрос про торчащую консоль снимается, сам разобрался. Вначале отдельно запускаю TheBat, а уже потом command.cmd, тогда она правильно отрабатывает формирование писем и сразу закрывается.
o7412369815963
хелп, кода я подключаюсь к серверу через ssh, и запускаю прогу через os.spawnl или subprocess.Popen, прога работает ассинхронно, когда я в ssh делаю выход (exit), проиходит как бы отлогинивание но окно ssh весит не закрывается и в него валяться сообщения от запущенной программы, если я закрываю ssh клиент то запущеная прога умирает.

как сделать что-б она продолжала работать?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB