2012-12-30 3 views
0

exec 및 shell_exec이 영구로드를 일으키는 것으로 나타났습니다.exec가 영구적 인로드를 야기 함

기본적으로 백그라운드에서 PHP 스크립트를로드하는 것처럼 간단한 작업을 수행하려고합니다. 내가 그렇게하려고 할 때, 단지로드되고로드됩니다.

echo $agrv[1]; 

하지만 여전히 끊임없이로드 : 내가 처음 내 다른 스크립트라고 생각, 그래서 난 그냥 가진 파일로 지적

exec('php test.php -- '.escapeshellarg($param1).' > /dev/null '); 

을 다음과 같이

내 코드입니다.

+2

로드로드 무엇을? 귀하의 "질문"은 명확하지 않습니다 – zerkms

+1

정확히이'test.php' 스크립트는 무엇을하고 있습니까? Exec()은 생성 한 프로세스 (test.php를 실행중인 php)가 종료 될 때까지 리턴하지 않습니다. test.php가 입력을 요구한다면, 입력을 제공하지 않기 때문에 영원히 거기에 앉아있을 것입니다. –

+0

왜'exec ('php test.php ...')를 호출합니까? 왜'include (test.php)'가 아닌가? 그런데 왜 영원히 집행합니까? 'test.php'는 무엇을하고 있습니까? – cegfault

답변

0

Don't wait for the process to exit

간부는() 종료 코드를 제공하는 과정을 기다립니다. 위에 제공된 링크를 클릭하면 도움이 될 수 있습니다.

아, 그리고 어떤 이유에서든 Linux에 태그를 추가했기 때문에 Linux 배포판에 있다고 가정합니다.

당신은 aswell이를 고려할 수 : http://ca1.php.net/pcntl_fork

관련 문제