PHpullh
학습 라이브러리/PHP/proc_open 으로 자식 프로세스 실행

PHP · 비동기/동시성

proc_open 으로 자식 프로세스 실행

긴 작업을 별도 프로세스로 분리할 때 쓸 수 있는 proc_open 예제입니다.

비동기/동시성중급proc_openprocesssubprocess

핵심 설명

긴 작업을 별도 프로세스로 분리할 때 쓸 수 있는 proc_open 예제입니다.

PHP code

<?php
$descriptor = [
    1 => ['pipe', 'w'],
];

$process = proc_open('php -r "echo 123;"', $descriptor, $pipes);
echo stream_get_contents($pipes[1]);
proc_close($process);

학습 팁

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

주의할 점

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

자주 묻는 질문

proc_open 으로 자식 프로세스 실행란 무엇인가요?

긴 작업을 별도 프로세스로 분리할 때 쓸 수 있는 proc_open 예제입니다.

proc_open 으로 자식 프로세스 실행 학습 시 주의할 점은 무엇인가요?

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