РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1054 of 1361 menu

Метод start класса Process

Метод start класса Process запускает внешнюю команду асинхронно и сразу возвращает управление. В отличие от метода run, он не дожидается завершения процесса. Параметров метод не принимает. После запуска процесс можно проверять через isRunning, а дождаться результата через wait.

Синтаксис

$process->start();

Пример

Давайте запустим команду 'ls -la' асинхронно:

<?php use SymfonyComponentProcessProcess; $process = new Process(['ls', '-la']); $process->start(); while ($process->isRunning()) { echo 'running...' . PHP_EOL; } echo $process->getOutput(); ?>

Пример

Давайте запустим команду 'echo hello' и дождёмся её завершения через wait:

<?php use SymfonyComponentProcessProcess; $process = new Process(['echo', 'hello']); $process->start(); $process->wait(); echo $process->getOutput(); ?>

Результат выполнения кода:

hello

Пример

Давайте запустим команду 'echo abcde' и проверим статус процесса:

<?php use SymfonyComponentProcessProcess; $process = new Process(['echo', 'abcde']); $process->start(); var_dump($process->isRunning()); $process->wait(); var_dump($process->isRunning()); ?>

Результат выполнения кода:

true false

Смотрите также

  • класс Process,
    который запускает внешние команды
  • метод run,
    который запускает процесс и дожидается завершения
  • метод wait,
    который дожидается завершения процесса
  • метод isRunning,
    который проверяет, выполняется ли процесс
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить