Page 80 - 6734
P. 80
import os
print os.getpid() # ідентифікатор процесу
os.system(r'start calc.exe') # виконує команду
оболонки
print os.system(r'echo hello') # виконує команду
оболонки
print os.popen(r'echo world').read() # читати
результати команди оболонки
id = os.spawnv(os.P_NOWAIT,
'c:\\Windows\\Notepad.exe',[r'
c:\Python27\README.txt']) # виконує програму без
очікування виходу з неї
status = os.waitpid(id, 0) # але тут чекає завершення
процесу id
print 'status=', status
os.startfile(r'c:\Python27\README.txt') # виконує
файл відповідним застосуванням
os.execl(r'c:\Windows\Notepad.exe', '
c:\Python27\README.txt') # виконує файл, замінює
поточний процес
print "hello" # ця команда вже не виконається
5144
hello
0
world
status= (820, 0)
subprocess – керування підпроцесами
Модуль subprocess дозволяє створювати нові процеси,
під’єднуватись до їхніх input/output/error каналів та отримувати їхні
коди завершення [5, 19, 27]. Цей модуль призначений для заміни
кількох старих модулів і функцій (os.system, os.spawn*,
os.popen*, popen2.*, commands.*).
79