반응형
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' );
?>
반응형