Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 3, 2010 16:36:00

bum-bayan
От:
Зарегистрирован: 2010-09-03
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

работа с процессами

Доброго времени суток.
Есть следующий код:

pipe = subprocess.Popen('./BashScript.sh', stdout = subprocess.PIPE, stderr = subprocess.PIPE)
logfile = open('log.txt', 'w')
tempstr = pipe.stdout.readline()
print tempstr
logfile.write(tempstr)
stdout_ret, stderr_ret = pipe.communicate()
Создаю новый процесс, в котором выполняется скрипт BashScript.sh, далее работаю с этим процессом через пайп. Вывожу одну строку и пишу ее в файл. Открываю его - файл пуст. Пишу под Linux'ом.

Объясните пожалуйста, в чем проблема.



Офлайн

#2 Сен. 3, 2010 16:42:30

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

работа с процессами

logfile.close()



Офлайн

#3 Сен. 3, 2010 18:21:57

bum-bayan
От:
Зарегистрирован: 2010-09-03
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

работа с процессами

Спасибо.
Есть еще вопрос. Команда subprocess.Popen(…) рожает новый процесс и передает ему управление или форкает вызывающий процесс?



Офлайн

#4 Сен. 3, 2010 22:32:45

Alex2ndr
От:
Зарегистрирован: 2009-12-26
Сообщения: 204
Репутация: +  0  -
Профиль   Отправить e-mail  

работа с процессами

bum-bayan
Есть еще вопрос. Команда subprocess.Popen(…) рожает новый процесс и передает ему управление или форкает вызывающий процесс?
Вам не кажется, что это одно и то же? Т е нельзя породить процесс без fork. Впрочем это только для POSIX.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version