Striver
Сен. 10, 2009 09:04:38
погуглил на эту тему, нашел 2 способа:
os.spawnl(os.P_NOWAIT,'command.cmd')
и
subprocess.Popen('command.cmd')
версиях 2.4 и 2.5 работают оба способа, а в 3.1 только через subprocess. При попытке применить spawnl вылазит радостное сообщение от микрософта: “python31.exe - обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства.” Может его как-то по-другому применять надо?
igor.kaist
Сен. 10, 2009 10:14:15
Почему бы просто subprocess не использовать?
Striver
Сен. 10, 2009 12:25:07
igor.kaist:Почему бы просто subprocess не использовать?
Ну так я и оставил его. Хотелось узнать просто, может я чего не понял в доках по os.spawn, раз ошибка вылазит…
bialix
Сен. 10, 2009 22:08:55
баг в питоне.
o7412369815963
Сен. 11, 2009 05:47:42
bialix
баг в питоне.
какой?
Striver
Сен. 11, 2009 07:21:03
bialix: баг в питоне.
Ну, я так и подумал в общем. Но до сих пор на такие баги не натыкался, вот и были сомнения.
Ещё вопрос (хотя, возможно, он уже не имеет отношения к питону).
Этот command.cmd запускает TheBat и пихает в него несколько писем в исходящие. И пока пользователь не закроет TheBat, окно консоли с текстом этого command.cmd торчит на экране. Можно ли это как-то победить?
sypper-pit
Сен. 11, 2009 15:15:20
my_script.pyw в место my_script.py пробывл ?
Striver
Сен. 14, 2009 06:08:16
sypper-pit: my_script.pyw в место my_script.py пробывл ?
Дык так и работает. Сначала программа вообще без окон работает, работа заключается в формировании этого command.cmd. Ближе к концу выдаёт win32api.MessageBox для информации о проделанной работе, а затем этот command.cmd выполняет. Окно консоли вылазит уже после MessageBox.
Striver
Сен. 14, 2009 08:15:32
Вопрос про торчащую консоль снимается, сам разобрался. Вначале отдельно запускаю TheBat, а уже потом command.cmd, тогда она правильно отрабатывает формирование писем и сразу закрывается.
o7412369815963
Ноя. 17, 2009 06:51:49
хелп, кода я подключаюсь к серверу через ssh, и запускаю прогу через os.spawnl или subprocess.Popen, прога работает ассинхронно, когда я в ssh делаю выход (exit), проиходит как бы отлогинивание но окно ssh весит не закрывается и в него валяться сообщения от запущенной программы, если я закрываю ssh клиент то запущеная прога умирает.
как сделать что-б она продолжала работать?