pcntl_sigwaitinfo
(PHP 5 >= 5.3.0)
pcntl_sigwaitinfo — Belirtilen sinyalleri bekler
Açıklama
$sinyaller
[, array &$bilgi
] )
sinyaller değiştirgesinde belirtilen sinyallerden biri alınıncaya kadar işlevi çağıran betiğin çalışmasını askıya alır. Sinyallerden biri zaten askıda ise (örneğin, pcntl_sigprocmask() ile engellenmiş olabilir), pcntl_sigwaitinfo() hiç beklemeden döner.
Değiştirgeler
-
sinyaller -
Beklenecek sinyalleri içeren dizi.
-
bilgi -
Sinyallerle ilgili bilgilerin saklandığı dizi.
Tüm sinyaller için kullanılan elemanlar şunlardır:
- signo: Sinyal numarası
- errno: Bir hata numarası
- code: Sinyal kodu
SIGCHLDsinyali için şunlar bulunabilir:- status: Çıkış değeri veya sinyali
- utime: Harcanan kullanıcı zamanı
- stime: Harcanan sistem zamanı
- pid: Gönderen sürecin kimliği
- uid: Gönderen sürecin gerçek kullanıcı kimliği
SIGILL,SIGFPE,SIGSEGVveSIGBUSsinyali için şunlar bulunabilir:- addr: Başarısızlığa sebep olan bellek adresi
SIGPOLLsinyali için şunlar bulunabilir:- band: Band olayı
- fd: Dosya tanıtıcı numarası
Dönen Değerler
Başarı durumunda sinyal numarasını döndürür.
Örnekler
Örnek 1 - pcntl_sigwaitinfo() örneği
<?php
echo "SIGHUP sinyalini engelleyelim\n";
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));
echo "Kendimize SIGHUP gönderelim\n";
posix_kill(posix_getpid(), SIGHUP);
echo "Sinyal bekleniyor\n";
$info = array();
pcntl_sigwaitinfo(array(SIGHUP), $info);
?>
Ayrıca Bakınız
- pcntl_sigprocmask() - Sinyalleri ekler, siler veya engeller
- pcntl_sigtimedwait() - Sinyalleri zaman aşımı dolana kadar bekler
