IT/php

php apache_child_terminate — 이 요청 후에 아파치 프로세스를 종료한다

조원태 2017. 1. 27. 15:26
반응형

apache_child_terminate — 이 요청 후에 아파치 프로세스를 종료한다


설명 ¶


bool apache_child_terminate ( void )

apache_child_terminate()는 PHP 코드의 실행이 끝났을 때 프로세스를 종료시키기 위하여 현재 PHP 요청을 실행하는 아파치 프로세스를 등록합니다. 

보통 메모리는 내부적으로 사용할 수 있게 해제되지만, 

운영 체계에 반환되지 않기 때문에 많은 메모리를 소모하는 스크립트를 실행한 후에 프로세스를 종료시키기 위해서 사용됩니다.


반환값 ¶


PHP가 아파치 1 모듈이고, 아파치가 멀티 쓰레드 버전이 아니며, PHP 지시어 child_terminate가 활성화 되어있을 때 (기본값 비활성화) TRUE를 반환합니다. 

이 조건이 맞지 않으면 FALSE를 반환하고 E_WARNING 등급의 오류가 발생합니다.


주의 ¶


Note: 이 함수는 윈도우 플랫폼에서는 작동하지 않습니다.




나는 아파치 2를위한 해결책을 발견했다. 

그러나 이것은 스레드없이 그리고 POSIX 호환 OS 시스템에서만 (예를 들어 리눅스, OpenSolaris ...) 작동한다.


<?php 



// 요청이 끝난 후 아파치 2 자식 프로세스를 종료한다.

// SIGWINCH POSIX 시그널을 보내서 처리한다 (28).

function kill_on_exit() { 

posix_kill( getmypid(), 28 ); 


register_shutdown_function( 'kill_on_exit' ); 


?>



반응형