Запускает программу и дает управлять ее процессом.
Синтаксис:
import psutil
proc = psutil.Popen(args, bufsize=-1, executable=None, \
stdin=None, stdout=None, stderr=None, \
preexec_fn=None, close_fds=True, shell=False, \
cwd=None, env=None, universal_newlines=None, \
startupinfo=None, creationflags=0, restore_signals=True, \
start_new_session=False, pass_fds=(), *, \
encoding=None, errors=None, text=None)
Параметры:
args
- список или строка, запускаемая программа с аргументами,bufsize=-1
- буферизация,executable=None
- замещающая программа для выполнения,stdin=None
- поток данных, отправляемых в процесс,stdout=None
- поток вывода программы,stderr=None
- поток ошибок программы,preexec_fn=None
- пользовательская функция, выполняемая до запуска программы,close_fds=True
- управляет файловыми дескрипторами,shell=False
- True
, если программа и ее аргументы представлены как одна строка,cwd=None
- путь к рабочему каталогу запускаемой программы,env=None
- переменные среды для нового процесса,universal_newlines=None
- тоже, что и параметр text
,startupinfo=None
- объект subprocess.STARTUPINFO
,creationflags=None
- один или несколько констант Windows,restore_signals=True
- сигналы восстанавливаются до SIG_DFL
,start_new_session=False
- управляет системным вызов setsid()
,pass_fds=()
- последовательность файловых дескрипторов,encoding=None
- кодировка, если text=True
,errors=None
- обработчик ошибок кодировки,text=None
- текстовый режим для stdin
, stdout
и stderr
.
Возвращаемое значение:
Описание:
Это сделано для того, чтобы избежать уничтожения другого процесса в случае повторного использования его PID
.
Доступность: Linux, Windows, FreeBSD
Пример использования psutil.Popen()
.
>>> import psutil
>>> from subprocess import PIPE
>>> p = psutil.Popen(["/usr/bin/python3", "-c", "print('hello')"], stdout=PIPE)
>>> p.name()
# 'python3'
>>> p.username()
# 'user'
>>> p.communicate()
# (b'hello\n', None)
>>> p.wait(timeout=2)
# 0