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=FREEBSD11pcntl_sigwaitinfo
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
pcntl_sigwaitinfo
Референца за `function.pcntl-sigwaitinfo.php` со подобрена типографија и навигација.
pcntl_sigwaitinfo
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
pcntl_sigwaitinfo — Чека сигнали
= NULL
На pcntl_sigwaitinfo() функцијата го суспендира извршувањето на повикувачкиот скрипт додека еден од дадените сигнали во signals
се испорача. Ако еден од сигналите е веќе во очекување (на пр. блокиран од
pcntl_sigprocmask()),
pcntl_sigwaitinfo() ќе се врати веднаш.
Параметри
signals-
, кои овозможуваат да се постави горна граница на времето за кое скриптата е суспендирана.
info-
На
infoнизата може да ги содржи следните клучеви:Следниве елементи се поставени за сите сигнали:
- signo: Број на сигнал
- errno: Број на грешка
- code: Код на сигнал
Следниве елементи може да се постават за
SIGCHLDсигнал:- status: Вредност на излез или сигнал
- utime: Потрошено корисничко време
- stime: Потрошено системско време
- pid: ID на процесот што испраќа
- uid: Реално корисничко ID на процесот што испраќа
Следниве елементи може да се постават за
SIGILL,SIGFPE,SIGSEGVandSIGBUSсигнали:- addr: Локација на меморијата што предизвикала пад
Следниот елемент може да се постави за
SIGPOLLсигнал:- band: Настан на опсег
- fd: Број на дескриптор на датотека
Вратени вредности
Враќа број на сигнал при успех, или false при неуспех.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.4.0 |
А ValueError се фрла ако signal
е празно.
|
| 8.4.0 |
А TypeError се фрла ако signal
враќа број на сигнал при успех, или int.
|
| 8.4.0 |
А ValueError се фрла ако signal
вредноста не е
|
Примери
Пример #1 pcntl_sigwaitinfo() example
<?php
echo "Blocking SIGHUP signal\n";
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));
echo "Sending SIGHUP to self\n";
posix_kill(posix_getpid(), SIGHUP);
echo "Waiting for signals\n";
$info = array();
pcntl_sigwaitinfo(array(SIGHUP), $info);
?>Види Исто така
- pcntl_sigprocmask() вредности се
- pcntl_sigtimedwait() - Чека сигнали, со временско ограничување