(PECL win32service SVN)
win32_start_service_ctrl_dispatcher — Hizmet yöneticisine ismi belirtilen hizmet gibi davranacak bir betik tanıtır
Bir hizmet, Hizmet yöneticisi üzerinden başlatıldığında hizmet sürecinin hizmet izleme ve iletişim oluşumlarını sağlayıp sağlamadığına bakılır. Bu işlev, hizmet yöneticisi ile düşük seviyeli iletişimi sağlamak üzere bir evre çatallayarak bu gereksinimi yerine getirir.
Hizmet başlatıldıktan sonra Hizmet yöneticisi hizmet sürecinin sonlanıp sonlanmadığını saptamak amacıyla denetimlerini sürdürür. Bu belli aralıklarla win32_get_last_control_message() çağrısı yaparak ve dönen koda bakarak sağlanır.
Başarılı olursa TRUE
, aksi takdirde bir win32 hata kodu döner.
Örnek 1 - win32_start_service_ctrl_dispatcher() örneği
Hizmetin SCM altında çalışıp çalışmadığına bakar.
<?php
if (!win32_start_service_ctrl_dispatcher('dummyphp')) {
die("Galiba hizmet yöneticisi altında çalışmıyorum");
}
while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {
# İşlemler burada.
# Döngüyü yinelemeden önce 30 saniyeden fazla beklememeye çalış
}
?>