CLI에서 실행하는 PHP 스크립트가 있습니다.우분투에서 어떻게 PHP에서 여러 개의 동시 터미널을 실행할 수 있습니까?
foreach($array as $key => $value){
exec("gnome-terminal -e php myscript.php $key $value > /dev/null");
}
내가 일을 기대하고하는 것은 새 터미널 팝업과 동시에 별도의 터미널 창에서 내 스크립트 및 관련 인수를 실행하는 것입니다 : 나는 다음과 같은 루프가 스크립트 내부
.
데이터를 시각화 할 수있는 것은 단순히 디버깅을위한 것입니다. 스크립트가 제대로 작동하는지 확인한 후 다음 명령을 사용하여 백그라운드에서 실행하고 싶습니다.
exec("php myscript.php $key $value" > /dev/null &);
그러나 예상대로 작동하지 않습니다. 두 번째 명령은 실행 되더라도 첫 번째 스크립트가 완료 될 때까지 기다렸다가 루프의 다음 반복 단계로 이동합니다.
저는 우분투 12.04를 사용하고 있습니다. 디버깅을 위해 이들을 동시에 실행할 수있게하려면 어떻게해야합니까?
다른 PHP 프로세스를 실행하고 있기 때문에, 당신은 포크를 사용하여 고려 했는가? http://php.net/manual/en/function.pcntl-fork.php –
'&'를 추가하여 그놈 터미널을 백그라운드로 실행하십시오. –
@therefromhere 나는 pcntl_fork()에 익숙하지 않다. php.net 문서는 나에게 분명하지 않습니다. 어떻게 사용하는지 예제를 줄 수 있습니까? – user658182