Для ожидания завершения процесса, запущенного с помощью функции `proc_open()`, можно воспользоваться функцией `proc_close()`. Данная функция останавливает процесс и ждет его завершения перед тем, как продолжить выполнение скрипта.
Пример:
```php
// Создаем процесс
$descriptorspec = [
0 => ['pipe', 'r'], // stdin
1 => ['pipe', 'w'], // stdout
2 => ['pipe', 'w'] // stderr
];
$process = proc_open('your_command_here', $descriptorspec, $pipes);
if (is_resource($process)) {
// Читаем вывод процесса
while (!feof($pipes[1])) {
echo fread($pipes[1], 1024);
}
// Закрываем все каналы
foreach ($pipes as $pipe) {
fclose($pipe);
}
// Ожидаем завершения процесса
$exitCode = proc_close($process);
echo "Процесс завершен с кодом $exitCode\n";
// Продолжаем выполнение скрипта после завершения процесса
}
```
Этот пример демонстрирует запуск процесса с помощью `proc_open()`, ожидание завершения процесса с помощью `proc_close()` и продолжение выполнения скрипта после завершения процесса.