적어도 4 명의 사용자를 동시에 처리하기 위해 병렬 프로세스를 실행하고 싶습니다. 현재 일어나고있는 무엇PHP PCNTL - 터미널에서 제어 유지하기
> php testscript.php
parent1
parent1
parent1
parent1
> parent2
parent2
parent2
parent2
분실, 새로운 빈 명령 줄이 시작 스크립트에 parent1
4 배 컨트롤을 표시 한 후입니다 :
ob_end_flush();
for($i = 0; $i < 4; $i++)
{
$pid=pcntl_fork();
if ($pid == -1) {
echo("Could not create a new child.");
exit;
} else if ($pid == 0) {
//This will get excuted only in the child process
echo 'parent1';
sleep(5);
echo 'parent2';
exit;
}
}
출력은 다음과 같은 것입니다. 5 초를 더 기다린 후 나머지 출력이 나옵니다.
어떻게 그런 일이 발생하지 않도록 할 수 있습니까? 나는 원할 때 스크립트를 깨고 싶다.
EDIT
은 중지, 즉 순간에 중지 스크립트를 통보 할 수있는 방법을 필요로하지 난 CTRL + C를 눌러 단자를 통해 말 신호를 보낼 경우, 스크립트는 않는다.
방법 "원하는"당신의 뇌파는 뇌가 있습니다 내 블로그에 앉아 예를 들어 포크 래퍼가 전송을 PHP 스크립트에? 나는 도서관이 뇌파를 위해 존재한다는 것을 몰랐습니다. 당신은 정교 할 수 있는가, 모두가 알아야 할 아주 멋진 확장처럼 보인다. – hakre
이 질문을 수정했습니다. 요구 사항은 PHP 스크립트가 터미널 포스트에서 보낸 신호를 수신 대기하도록하는 것입니다. – Rishabh
[Ctrl-z, ctrl-c를 PHP 스크립트를 중단하지 못하도록하는 방법] (http://stackoverflow.com/questions/2774331/how-to-disable-ctrl-z-ctrl-c-from) -breaking-out-of-a-php-script)? – hakre