PHpullh
학습 라이브러리/PHP/프로세스 상태 폴링

PHP · 비동기/동시성

프로세스 상태 폴링

외부 프로세스가 끝났는지 주기적으로 확인하는 상태 폴링 예제입니다.

비동기/동시성고급proc_get_statuspollingprocess

핵심 설명

외부 프로세스가 끝났는지 주기적으로 확인하는 상태 폴링 예제입니다.

PHP code

<?php
$process = proc_open('php -r "usleep(100000); echo 1;"', [1 => ['pipe', 'w']], $pipes);

do {
    $status = proc_get_status($process);
} while ($status['running']);

echo stream_get_contents($pipes[1]);
proc_close($process);

학습 팁

PHP의 동시성 예제는 어떤 확장이나 런타임이 필요한지 먼저 확인한 뒤 따라 하면 시행착오를 줄일 수 있습니다.

주의할 점

비동기처럼 보여도 내부에서 블로킹 호출을 하면 실제로는 순차 실행과 다르지 않습니다.

자주 묻는 질문

프로세스 상태 폴링란 무엇인가요?

외부 프로세스가 끝났는지 주기적으로 확인하는 상태 폴링 예제입니다.

프로세스 상태 폴링 학습 시 주의할 점은 무엇인가요?

비동기처럼 보여도 내부에서 블로킹 호출을 하면 실제로는 순차 실행과 다르지 않습니다.