
SwooleProcess::wait 함수의 첫 번째 인자는 프로세스 ID를 의미합니다. 이 함수는 프로세스 ID를 인수로 받아서 해당 프로세스가 종료될 때까지 대기합니다.
다중 프로세스를 동시에 기다리기 위해서는 SwooleProcess::wait 함수를 반복적으로 호출하거나, 프로세스 ID를 배열로 전달하여 한번에 여러 개의 프로세스를 기다릴 수 있습니다.
예를 들어, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
$processes = [];
foreach ($tasks as $task) {
$pid = swoole_process::exec($task);
$processes[] = $pid;
}
while (!empty($processes)) {
$pid = swoole_process::wait($processes);
if ($pid !== false) {
unset($processes[array_search($pid, $processes)]);
}
}
또는 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
$processes = [];
foreach ($tasks as $task) {
$pid = swoole_process::exec($task);
$processes[] = $pid;
}
$pids = array_values($processes);
while (!empty($pids)) {
$pid = swoole_process::wait($pids);
if ($pid !== false) {
$key = array_search($pid, $pids);
if ($key !== false) {
unset($pids[$key]);
}
}
}
2025-06-20 16:35