(PECL win32service SVN)
win32_start_service_ctrl_dispatcher — Registra el script con el ACS, por lo que puede actuar como el servicio con el nombre dado
Cuando de lanza mediante el Administrador de Control de Servicios, se requiere un porceso de servicio para "registralo" con él para establecer la supervisión del servicio y las características de comunicación. Esta función lleva a cabo el registro produciendo un hilo para manejar la comunicación a bajo nivel con el adminstrador de control de servicios.
Una vez iniciado, el proceso de servicio debería continuar registrado con el administrador de control de servicios por lo que puede determinar si debería de finalizar. Esto se logra llamando periódicamente a win32_get_last_control_message() y manejando el código de retorno apropiado.
Returns TRUE on success, FALSE if there is a problem with the parameters or a Win32 Error Code on failure.
Example #1 Un ejemplo de win32_start_service_ctrl_dispatcher()
Comprobar si el servicio se está ejecutando bajo el ACS.
<?php
if (!win32_start_service_ctrl_dispatcher('dummyphp')) {
die("Probablemente no esté ejecutándome bajo el administrador de control de servicios");
}
while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {
# hacer su trabajo aquí, intentando no tomar más de 30 segundos antes de
# ejecutar de nuevo el bucle
}
?>