proc_terminate
Proc_open이 열린 프로세스를 처치하십시오
함수 이름 : proc_terminate ()
해당 버전 : PHP 4> = 4.3.0, PHP 5, PHP 7
함수 설명 : proc_terminate () 함수는 proc_open () 함수에 의해 생성 된 프로세스를 종료하는 데 사용됩니다.
구문 : bool proc_terminate (자원 $ process, int $ signal = 15)
매개 변수 :
반환 값 : 프로세스가 성공적으로 종료되면 true 리턴; 그렇지 않으면 false를 반환합니다.
예:
$descriptorspec = array( 0 => array("pipe", "r"), // 标准输入,子进程从此管道中读取数据1 => array("pipe", "w"), // 标准输出,子进程向此管道中写入数据2 => array("file", "/tmp/error-output.txt", "a") // 标准错误,写入到一个文件); $process = proc_open('php -r "echo \'Hello, World!\';"', $descriptorspec, $pipes); // 等待一段时间后终止进程sleep(3); proc_terminate($process); // 读取子进程的输出echo stream_get_contents($pipes[1]); // 关闭管道和进程资源fclose($pipes[0]); fclose($pipes[1]); proc_close($process);
위의 예에서는 Proc_Open () 함수를 사용하여 간단한 PHP 명령을 실행하여 "Hello, World!"를 실행하는 하위 프로세스를 만듭니다. 그런 다음 Proc_terminate () 함수를 사용하여 3 초 동안 대기 한 후 아동 프로세스를 종료합니다. 마지막으로 Stream_get_contents () 함수를 통해 하위 프로세스의 출력을 읽고 관련 파이프 라인 및 프로세스 리소스를 닫습니다.
Proc_terminate () 함수는 단지 신호를 프로세스로 보내지 만 프로세스가 즉시 종료되도록 보장 할 수는 없습니다. 프로세스가 즉시 종료되는지 확인 해야하는 경우 Proc_terminate () 함수 대신 Proc_Close () 함수를 사용할 수 있습니다.