<?php
// tikleri kullanalım
declare(ticks = 1);
// sinyal eylemcimiz
function sig_handler($signo)
{
switch ($signo) {
case SIGTERM:
// kapanma işlemleri
exit;
break;
case SIGHUP:
// yeniden başlatma işlemleri
break;
case SIGUSR1:
echo "SIGUSR1 yakalandı...\n";
break;
default:
// Diğer sinyallerin işlemleri
}
}
echo "Sinyal eylemci kuruluyor...\n";
// Sinyal eylemcileri belirleyelim
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP, "sig_handler");
pcntl_signal(SIGUSR1, "sig_handler");
// Veya bir nesne kullanalım
// pcntl_signal(SIGUSR1, array($obj, "do_something"));
echo"Kendimize SIGTERM gönderelim...\n";
// geçerli süreç kimliğine SIGUSR1 gönder
//posix_* işlevleri posix eklentisi gerektirir
posix_kill(posix_getpid(), SIGUSR1);
echo "Done\n";
?>