PHP CLI 모드 에서 의 다 중 프로 세 스 응용 분석
2660 단어 PHPCLI다 중 프로 세 스 응용
#!/bin/env php
<?php
/** A example denoted muti-process application in php
* @filename fork.php
* @touch date Wed 10 Jun 2009 10:25:51 PM CST
* @author Laruence<[email protected]>
* @license http://www.zend.com/license/3_0.txt PHP License 3.0
* @version 1.0.0
*/
/** SHELL */
if (substr(php_sapi_name(), 0, 3) !== 'cli') {
die("This Programe can only be run in CLI mode");
}
/** , CLI , */
set_time_limit(0);
$pid = posix_getpid(); // ID
$user = posix_getlogin(); //
echo <<<EOD
USAGE: [command | expression]
input php code to execute by fork a new process
input quit to exit
Shell Executor version 1.0.0 by laruence
EOD;
while (true) {
$prompt = "
{$user}$ ";
$input = readline($prompt);
readline_add_history($input);
if ($input == 'quit') {
break;
}
process_execute($input . ';');
}
exit(0);
function process_execute($input) {
$pid = pcntl_fork(); //
if ($pid == 0) {//
$pid = posix_getpid();
echo "* Process {$pid} was created, and Executed:
";
eval($input); //
exit;
} else {//
$pid = pcntl_wait($status, WUNTRACED); //
if (pcntl_wifexited($status)) {
echo "
* Sub process: {$pid} exited with {$status}";
}
}
}
그러나 한 가지,나 는 반드시 일 깨 워 주어 야 한다.
Process Control should not be enabled within a webserver environment and unexpected results may happen if any Process Control functions are used within a webserver environment. -- PHP , PHP Web !
원문:http://www.laruence.com/2009/06/11/930.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.