Spec-Zone.ru › Symfony 2.7

Процесс

класс Process

Process — это тонкий обертка вокруг функций proc_* для лёгкого запуска независимых PHP-процессов.

Константы

ERR
OUT
STATUS_READY
STATUS_STARTED
STATUS_TERMINATED
STDIN
STDOUT
STDERR
TIMEOUT_PRECISION

Свойства

static $exitCodes Таблица перевода кодов завершения.

Методы

__construct(string $commandline, string|null $cwd = null, array $env = null, string|null $input = null, int|float|null $timeout = 60, array $options = array())
__destruct()
__clone()
int run(callable|null $callback = null)

Выполняет процесс.

Process mustRun(callable|null $callback = null)

Выполняет процесс.

start(callable|null $callback = null)

Запускает процесс и возвращается после записи входных данных в STDIN.

$this restart(callable|null $callback = null)

Перезапускает процесс.

int wait(callable|null $callback = null)

Ожидает завершения процесса.

int|null getPid()

Возвращает идентификатор процесса (Pid), если применимо.

$this signal(int $signal)

Отправляет POSIX-сигнал процессу.

$this disableOutput()

Отключает получение вывода и вывода ошибок от основного процесса.

$this enableOutput()

Включает получение вывода и вывода ошибок от основного процесса.

bool isOutputDisabled()

Возвращает true, если вывод отключён, в противном случае — false.

string getOutput()

Возвращает текущий вывод процесса (STDOUT).

string getIncrementalOutput()

Возвращает вывод по частям.

$this clearOutput()

Очищает вывод процесса.

string getErrorOutput()

Возвращает текущий вывод ошибок процесса (STDERR).

string getIncrementalErrorOutput()

Возвращает вывод ошибок по частям.

$this clearErrorOutput()

Очищает вывод процесса.

null|int getExitCode()

Возвращает код завершения, возвращённый процессом.

null|string getExitCodeText()

Возвращает строковое представление кода завершения, возвращённого процессом.

bool isSuccessful()

Проверяет, завершился ли процесс успешно.

bool hasBeenSignaled()

Возвращает true, если дочерний процесс был завершён неперехваченным сигналом.

int getTermSignal()

Возвращает номер сигнала, который привёл к завершению выполнения дочернего процесса.

bool hasBeenStopped()

Возвращает true, если дочерний процесс был остановлен сигналом.

int getStopSignal()

Возвращает номер сигнала, который привёл к остановке выполнения дочернего процесса.

bool isRunning()

Проверяет, запущен ли процесс в данный момент.

bool isStarted()

Проверяет, был ли запущен процесс без учёта текущего состояния.

bool isTerminated()

Проверяет, завершён ли процесс.

string getStatus()

Получает состояние процесса.

int stop(int|float $timeout = 10, int $signal = null)

Останавливает процесс.

addOutput(string $line)

Добавляет строку в поток STDOUT.

addErrorOutput(string $line)

Добавляет строку в поток STDERR.

string getCommandLine()

Получает командную строку для выполнения.

Process setCommandLine(string $commandline)

Устанавливает командную строку для выполнения.

float|null getTimeout()

Получает таймаут процесса (максимальное время выполнения).

float|null getIdleTimeout()

Получает таймаут бездействия процесса (максимальное время с момента последнего вывода).

Process setTimeout(int|float|null $timeout)

Устанавливает таймаут процесса (максимальное время выполнения).

Process setIdleTimeout(int|float|null $timeout)

Устанавливает таймаут бездействия процесса (максимальное время с момента последнего вывода).

Process setTty(bool $tty)

Включает или отключает режим TTY.

bool isTty()

Проверяет, включён ли режим TTY.

Process setPty(bool $bool)

Устанавливает режим PTY.

bool isPty()

Возвращает состояние PTY.

string|null getWorkingDirectory()

Получает рабочую директорию.

Process setWorkingDirectory(string $cwd)

Устанавливает текущую рабочую директорию.

array getEnv()

Получает переменные окружения.

Process setEnv(array $env)

Устанавливает переменные окружения.

string|null getStdin() deprecated

Получает содержимое STDIN.

null|string getInput()

Получает входные данные процесса.

Process setStdin(string|null $stdin) deprecated

Устанавливает содержимое STDIN.

Process setInput(mixed $input)

Устанавливает входные данные.

array getOptions()

Получает параметры для proc_open.

Process setOptions(array $options)

Устанавливает параметры для proc_open.

bool getEnhanceWindowsCompatibility()

Получает, включена ли совместимость с Windows.

Process setEnhanceWindowsCompatibility(bool $enhance)

Устанавливает, включена ли совместимость с Windows.

bool getEnhanceSigchildCompatibility()

Возвращает, активирован ли режим совместимости sigchild или нет.

Process setEnhanceSigchildCompatibility(bool $enhance)

Активирует режим совместимости sigchild.

checkTimeout()

Выполняет проверку на таймаут относительно времени запуска процесса.

static bool isPtySupported()

Возвращает, поддерживается ли PTY в текущей операционной системе.

Детали

__construct(string $commandline, string|null $cwd = null, array $env = null, string|null $input = null, int|float|null $timeout = 60, array $options = array())

Параметры

string $commandline Командная строка для выполнения
string|null $cwd Рабочая директория или null для использования рабочей директории текущего процесса PHP
array $env Переменные окружения или null для использования тех же переменных окружения, что и у текущего процесса PHP
string|null $input Входные данные
int|float|null $timeout Таймаут в секундах или null для отключения
array $options Массив опций для proc_open

Исключения

RuntimeException При отсутствии proc_open

__destruct()

__clone()

int run(callable|null $callback = null)

Выполняет процесс.

Обратный вызов получает тип вывода (out или err) и некоторые байты из вывода в реальном времени. Это позволяет получить обратную связь от независимого процесса во время выполнения.

STDOUT и STDERR также доступны после завершения процесса через методы getOutput() и getErrorOutput().

Параметры

callable|null $callback Обратный вызов PHP, который будет выполнен всякий раз, когда доступен вывод в STDOUT или STDERR

Значение результата

int Код завершения процесса

Исключения

RuntimeException Если процесс не может быть запущен
RuntimeException Если процесс остановлен после получения сигнала
LogicException Если предоставлен обратный вызов и вывод был отключен

Process mustRun(callable|null $callback = null)

Выполняет процесс.

Это идентично run(), за исключением того, что исключение выбрасывается, если процесс завершается с ненулевым кодом выхода.

Параметры

callable|null $callback

Значение результата

Process

Исключения

RuntimeException если PHP был скомпилирован с --enable-sigchild, и режим совместимости sigchild не включен
ProcessFailedException если процесс не завершился успешно

start(callable|null $callback = null)

Запускает процесс и возвращает после записи входных данных в STDIN.

Этот метод блокируется до тех пор, пока все данные STDIN не будут отправлены процессу, затем он возвращается, в то время как процесс работает в фоновом режиме.

Завершение процесса можно дождаться с помощью wait().

Обратный вызов получает тип вывода (out или err) и некоторые байты из вывода в реальном времени при записи стандартного ввода в процесс. Это позволяет получить обратную связь от независимого процесса во время выполнения.

Параметры

callable|null $callback Обратный вызов PHP, который будет выполнен всякий раз, когда доступен вывод в STDOUT или STDERR

Исключения

RuntimeException Если процесс не может быть запущен
RuntimeException Если процесс уже запущен
LogicException Если предоставлен обратный вызов и вывод был отключен

$this restart(callable|null $callback = null)

Перезапускает процесс.

Обратите внимание, что процесс клонируется перед запуском.

Параметры

callable|null $callback Обратный вызов PHP, который будет выполнен всякий раз, когда доступен вывод в STDOUT или STDERR

Значение результата

$this

Исключения

RuntimeException Если процесс не может быть запущен
RuntimeException Если процесс уже запущен

См. также

start()

int wait(callable|null $callback = null)

Ожидает завершения процесса.

Обратный вызов получает тип вывода (out или err) и некоторые байты из вывода в реальном времени при записи стандартного ввода в процесс. Это позволяет получить обратную связь от независимого процесса во время выполнения.

Параметры

callable|null $callback Действительный обратный вызов PHP

Значение результата

int Код завершения процесса

Исключения

RuntimeException Если процесс превысил время ожидания
RuntimeException Если процесс остановлен после получения сигнала
LogicException Если процесс еще не запущен

int|null getPid()

Возвращает идентификатор процесса (PID), если применимо.

Значение результата

int|null Идентификатор процесса, если запущен, иначе null

$this signal(int $signal)

Отправляет POSIX-сигнал процессу.

Параметры

int $signal Действительный POSIX-сигнал (см. http://www.php.net/manual/ru/pcntl.constants.php)

Значение результата

$this

Исключения

LogicException Если процесс не запущен
RuntimeException Если --enable-sigchild активирован и процесс не может быть убит
RuntimeException В случае ошибки

$this disableOutput()

Отключает получение вывода и ошибок от базового процесса.

Значение результата

$this

Исключения

RuntimeException Если процесс уже запущен
LogicException Если установлен таймаут бездействия

$this enableOutput()

Включает получение вывода и ошибок от базового процесса.

Значение результата

$this

Исключения

RuntimeException Если процесс уже запущен

bool isOutputDisabled()

Возвращает true, если вывод отключен, иначе false.

Значение результата

bool

string getOutput()

Возвращает текущий вывод процесса (STDOUT).

Значение результата

string Вывод процесса

Исключения

LogicException если вывод был отключен
LogicException если процесс не запущен

string getIncrementalOutput()

Возвращает вывод по частям.

В отличие от метода getOutput, который всегда возвращает весь вывод, этот метод возвращает новый вывод с момента последнего вызова.

Значение результата

string Вывод процесса с момента последнего вызова

Исключения

LogicException в случае, если вывод был отключен
LogicException В случае, если процесс не запущен

$this clearOutput()

Очищает вывод процесса.

Значение возврата

$this

string getErrorOutput()

Возвращает текущий вывод ошибок процесса (STDERR).

Значение возврата

string Вывод ошибок процесса

Исключения

LogicException в случае, если вывод был отключен
LogicException В случае, если процесс не запущен

string getIncrementalErrorOutput()

Возвращает вывод ошибок по частям.

В отличие от метода getErrorOutput, который всегда возвращает весь вывод ошибок, этот метод возвращает только новые ошибки, появившиеся с момента последнего вызова.

Значение возврата

string Вывод ошибок процесса с момента последнего вызова

Исключения

LogicException в случае, если вывод был отключен
LogicException В случае, если процесс не запущен

$this clearErrorOutput()

Очищает вывод процесса.

Значение возврата

$this

null|int getExitCode()

Возвращает код выхода, возвращённый процессом.

Значение возврата

null|int Код завершения, null, если процесс не завершён

Исключения

RuntimeException В случае, если --enable-sigchild активирован, а режим совместимости sigchild отключён

null|string getExitCodeText()

Возвращает строковое представление кода выхода, возвращённого процессом.

Этот метод полагается на стандартизацию кодов выхода в Unix и может быть неактуален для других операционных систем.

Значение возврата

null|string Строковое представление кода завершения, null, если процесс не завершён

См. также

http://tldp.org/LDP/abs/html/exitcodes.html
http://en.wikipedia.org/wiki/Unix_signal

bool isSuccessful()

Проверяет, завершился ли процесс успешно.

Значение возврата

bool true, если процесс завершился успешно, false в противном случае

bool hasBeenSignaled()

Возвращает true, если дочерний процесс был завершен необработанным сигналом.

На Windows всегда возвращает false.

Значение возврата

bool

Исключения

RuntimeException В случае, если --enable-sigchild активирован
LogicException В случае, если процесс не завершен

int getTermSignal()

Возвращает номер сигнала, который привел к завершению работы дочернего процесса.

Значимо только если hasBeenSignaled() возвращает true.

Значение возврата

int

Исключения

RuntimeException В случае, если --enable-sigchild активирован
LogicException В случае, если процесс не завершен

bool hasBeenStopped()

Возвращает true, если дочерний процесс был остановлен сигналом.

На Windows всегда возвращает false.

Значение возврата

bool

Исключения

LogicException В случае, если процесс не завершен

int getStopSignal()

Возвращает номер сигнала, который привел к остановке дочернего процесса.

Значимо только если hasBeenStopped() возвращает true.

Значение возврата

int

Исключения

LogicException В случае, если процесс не завершен

bool isRunning()

Проверяет, запущен ли процесс в данный момент.

Значение возврата

bool true, если процесс запущен, false в противном случае

bool isStarted()

Проверяет, был ли процесс запущен без учёта текущего состояния.

Значение возврата

bool true, если статус готов, false в противном случае

bool isTerminated()

Проверяет, завершён ли процесс.

Значение возврата

bool true, если процесс завершён, false в противном случае

string getStatus()

Получает статус процесса.

Статус может быть одним из: готов, запущен, завершён.

Значение возврата

string Текущий статус процесса

int stop(int|float $timeout = 10, int $signal = null)

Останавливает процесс.

Параметры

int|float $timeout Таймаут в секундах
int $signal POSIX-сигнал для отправки, если процесс не остановился к таймауту, по умолчанию SIGKILL (9)

Значение возврата

int Код выхода процесса

addOutput(string $line)

Добавляет строку в поток STDOUT.

Параметры

string $line Строка для добавления

addErrorOutput(string $line)

Добавляет строку в поток STDERR.

Параметры

string $line Строка для добавления

string getCommandLine()

Получает командную строку для выполнения.

Значение возврата

string Команда для выполнения

Process setCommandLine(string $commandline)

Устанавливает командную строку для выполнения.

Параметры

string $commandline Команда для выполнения

Значение возврата

Process Текущий экземпляр Process

float|null getTimeout()

Получает таймаут процесса (максимальное время выполнения).

Значение возврата

float|null Таймаут в секундах или null, если он отключен

float|null getIdleTimeout()

Получает таймаут бездействия процесса (максимальное время с момента последнего вывода).

Значение возврата

float|null Таймаут в секундах или null, если он отключен

Process setTimeout(int|float|null $timeout)

Устанавливает таймаут процесса (максимальное время выполнения).

Чтобы отключить таймаут, установите это значение в null.

Параметры

int|float|null $timeout Таймаут в секундах

Значение возврата

Process Текущий экземпляр Process

Исключения

InvalidArgumentException если таймаут отрицательный

Process setIdleTimeout(int|float|null $timeout)

Устанавливает таймаут бездействия процесса (максимальное время с момента последнего вывода).

Чтобы отключить таймаут, установите это значение в null.

Параметры

int|float|null $timeout Таймаут в секундах

Значение возврата

Process Текущая инстанция Process

Исключения

LogicException если вывод отключен
InvalidArgumentException если таймаут отрицательный

Process setTty(bool $tty)

Включает или отключает режим TTY.

Параметры

bool $tty Истина для включения, ложь для отключения

Возвращаемое значение

Process Текущая инстанция Process

Исключения

RuntimeException В случае, если режим TTY не поддерживается

bool isTty()

Проверяет, включен ли режим TTY.

Возвращаемое значение

bool истина, если режим TTY включен, ложь в противном случае

Process setPty(bool $bool)

Устанавливает режим PTY.

Параметры

bool $bool

Возвращаемое значение

Process

bool isPty()

Возвращает состояние PTY.

Возвращаемое значение

bool

string|null getWorkingDirectory()

Возвращает рабочую директорию.

Возвращаемое значение

string|null Текущая рабочая директория или null при ошибке

Process setWorkingDirectory(string $cwd)

Устанавливает текущую рабочую директорию.

Параметры

string $cwd Новая рабочая директория

Возвращаемое значение

Process Текущая инстанция Process

array getEnv()

Возвращает переменные окружения.

Возвращаемое значение

array Текущие переменные окружения

Process setEnv(array $env)

Устанавливает переменные окружения.

Значение переменной окружения должно быть строкой. Если это массив, переменная игнорируется.

Это происходит в PHP, когда 'argv' регистрируется в массиве $_ENV, например.

Параметры

array $env Новые переменные окружения

Возвращаемое значение

Process Текущая инстанция Process

string|null getStdin() устаревший

устаревший

since версия 2.5, будет удалена в 3.0. Используйте setInput() вместо этого. Данный метод устарел в пользу getInput.

Возвращает содержимое STDIN.

Возвращаемое значение

string|null Текущее содержимое

null|string getInput()

Возвращает входные данные процесса.

Возвращаемое значение

null|string Входные данные процесса

Process setStdin(string|null $stdin) устаревший

устаревший

since версия 2.5, будет удалена в 3.0. Используйте setInput() вместо этого.

Устанавливает содержимое STDIN.

Параметры

string|null $stdin Новое содержимое

Возвращаемое значение

Process Текущая инстанция Process

Исключения

LogicException В случае, если процесс запущен
InvalidArgumentException В случае некорректного аргумента

Process setInput(mixed $input)

Устанавливает входные данные.

Это содержимое будет передано на стандартный вход подпроцесса.

Параметры

mixed $input Содержимое

Возвращаемое значение

Process Текущая инстанция Process

Исключения

LogicException В случае, если процесс запущен

Передача объекта в качестве входных данных устарела начиная с версии 2.5 и будет удалена в 3.0.

array getOptions()

Возвращает опции для proc_open.

Возвращаемое значение

array Текущие опции

Process setOptions(array $options)

Устанавливает опции для proc_open.

Параметры

array $options Новые опции

Возвращаемое значение

Process Текущая инстанция Process

bool getEnhanceWindowsCompatibility()

Возвращает, включена ли совместимость с Windows.

По умолчанию это значение равно true.

Возвращаемое значение

bool

Process setEnhanceWindowsCompatibility(bool $enhance)

Устанавливает, включена ли совместимость с Windows.

Параметры

bool $enhance

Возвращаемое значение

Process Текущая инстанция Process

bool getEnhanceSigchildCompatibility()

Возвращает, активирован ли режим совместимости sigchild.

Возвращаемое значение

bool

Process setEnhanceSigchildCompatibility(bool $enhance)

Активирует режим совместимости sigchild.

Режим совместимости sigchild необходим для получения кода завершения и определения успешности процесса, когда PHP был скомпилирован с параметром --enable-sigchild.

Параметры

bool $enhance

Возвращаемое значение

Process Текущая инстанция Process

checkTimeout()

Проверяет таймаут процесса.

Если вы запускаете фоновый процесс (с помощью метода start), вы должны регулярно вызывать этот метод, чтобы гарантировать таймаут процесса.

Исключения

ProcessTimedOutException В случае превышения таймаута

static bool isPtySupported()

Возвращает, поддерживается ли PTY на текущей операционной системе.

Возвращаемое значение

bool

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/2.7/Symfony/Component/Process/Process.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API