pcntl_sigwaitinfo

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

pcntl_sigwaitinfoBelirtilen sinyalleri bekler

Açıklama

pcntl_sigwaitinfo(array $sinyaller, array &$bilgi = []): int|false

sinyaller bağımsız değişkeninde 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.

Bağımsız Değişkenler

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

SIGCHLD sinyali 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, SIGSEGV ve SIGBUS sinyali için şunlar bulunabilir:

  • addr: Başarısızlığa sebep olan bellek adresi

SIGPOLL sinyali 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, başarısızlık durumunda false döner.

Ö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

add a note add a note

User Contributed Notes 1 note

up
0
dave at mudsite dot com
8 years ago
This function is not available on platforms that do not implement the underlying C function.  Included in this would be MaxOS[1], and FreeBSD[2]

[1] : http://opensource.apple.com//source/xnu/xnu-1456.1.26/bsd/sys/signal.h

[2] : http://fxr.watson.org/fxr/source/sys/signal.h?v=FREEBSD11
To Top