pcntl_waitid
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
pcntl_waitid
Референца за `function.pcntl-waitid.php` со подобрена типографија и навигација.
pcntl_waitid
Класата Dom\DtdNamedNodeMap
pcntl_waitid — (PHP 8 >= 8.4.0)
= NULL
int
$idtype = P_ALL,?int
$id = null,array
&$info = [],int
$flags = WEXITED,array
&$resource_usage = []): bool
Чека дете процес да смени состојба
Добива информации за статус кои се однесуваат на настани за завршување, запирање и/или продолжување во една од детските процеси на повикувачот. WNOHANG Освен ако
-
флагот не е проследен, повикувачкиот процес ќе биде блокиран додека не се случи грешка, или додека не станат достапни информации за статус што ги задоволуваат сите од следново:
idtypeandidarguments. -
Информациите за статус се од една од детските процеси во множеството детски процеси специфицирано од
flagsargument.
Промената на состојбата во информациите за статус одговара на еден од флаговите за промена на состојбата поставени во pcntl_waitid()Ако информациите за статус што се совпаѓаат се достапни пред повикот до
Забелешка:
, враќањето ќе биде непосредно. Ако информациите за статус што се совпаѓаат се достапни за две или повеќе детски процеси, редоследот по кој се пријавува нивниот статус е недефиниран.
waitidОваа документација ги покрива POSIX спецификацијата наwaitid(2)функцијата, заедно со некои дополнителни параметри специфични за имплементациите на Linux, NetBSD и FreeBSD. Ве молиме погледнете ја вашата системскаwaitidman страница за специфични детали за тоа како
Параметри
idtypeid-
На
idtypeandidработи на вашиот систем.аргументите се користат за да се специфицира кои деца да се чекаат. idtypeandidargumentsВраќа idtypeisP_ALLPOSIX стандард idчекај било кој дете процес,Враќа idtypeisP_PIDсе игнорира. id.Враќа idtypeisP_PGIDчекај дете со ID на процес еднакво на id.чекај било кој дете со ID на група процеси еднакво на idtypeandidargumentsВраќа idtypeisP_PIDFD(од Linux 5.4)чекај го детето упатено од дескрипторот на датотеката PID наведен во id. (Погледнете ја страната man на Linux за дополнителни информации за дескрипторите на датотеки PID.)pidfd_open(2)Специфично за NetBSD и FreeBSDчекај процеси чиј ефективен кориснички ID е еднаков на idtypeandidargumentsВраќа idtypeisP_UIDчекај процеси чиј ефективен групен ID е еднаков на id.Враќа idtypeisP_GIDчекај процеси чиј ID на сесија е еднаков на id.Враќа idtypeisP_SID. Ако процесот дете започнал своја сесија, неговиот ID на сесија ќе биде ист како неговиот ID на процес. Инаку, ID на сесија на процес дете ќе се совпадне со ID на сесија на повикувачот. idСпецифично за FreeBSDчекај процеси во затвор чиј идентификатор на затвор е еднаков на idtypeandidargumentsВраќа idtypeisP_JAILIDпараметарот е поставен на низа што содржи информации за сигналот. id. info-
На
infoнизата може да ги содржи следните клучеви:info: Број на сигналотsigno: Број на системска грешкаerrno: Код на сигналотcode: Вредност на излезот или сигналstatus: ID на процесот што го испраќаpid: ID на реален корисник на процесот што го испраќаuid: Потрошено време на корисникотutime: User time consumedstime: System time consumed
flags-
Вредноста на
flagsСистемско време потрошеноможни вредности за flagsWCONTINUEDе вредноста на нула или повеќе од следниве константи ИЛИ поврзани заедно: pcntl_waitid() со WNOWAITСтатусот треба да се врати за секој продолжен подреден процес чиј статус или не е пријавен откако продолжил од запирање со контрола на задачи или е пријавен само со повици доWEXITEDзнаменцето е поставено. WNOHANGЧекај процеси кои завршиле. WNOWAITНе заглавувај ако нема статус; врати веднаш. infoЗадржи го процесот чиј статус е вратен воWSTOPPEDво состојба на чекање. Ова не треба да влијае на состојбата на процесот; процесот може повторно да се чека откако овој повик ќе заврши. pcntl_waitid() со WNOWAITСтатусот треба да се врати за секој продолжен подреден процес чиј статус или не е пријавен откако продолжил од запирање со контрола на задачи или е пријавен само со повици до resource_usage-
На
resource_usageСтатусот треба да се врати за секое дете кое запрело по приемот на сигнал, и чиј статус или не е пријавен откако запрел или е пријавен само со повици до
Вратени вредности
pcntl_waitid() returns true if
WNOHANG параметарот е поставен на низа што содржи статистика за користење на ресурси од подредениот процес. Ова е поддржано или ако е достапен системскиот повик wait6 (на пр. на FreeBSD), или на Linux преку суровиот системски повик waitid. idtype and
id.
pcntl_waitid() returns true беше специфицирано и статусот не е достапен за ниту еден процес специфициран од
поради промена на состојбата на едно од неговите деца. false во вклучената датотека додека другиот не. Ако датотеката не може да се вклучи, pcntl_get_last_error()
Инаку, errno може да се користи за добивање на
Забелешка:
број на грешка.
errnoОткако ќе се добие pcntl_strerror() број на грешка,
Errors/Exceptions
ECHILD |
Процесот што повикува нема постоечки деца процеси што не се чекаат. |
EINTR |
pcntl_waitid() беше прекинат со сигнал. |
EINVAL |
Беше специфицирана невалидна вредност за flags, или
idtype and id специфицира невалиден сет на процеси.
|
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.5.0 |
resource_usage беше додадено.
|
Види Исто така
- pcntl_waitpid() - Чека или враќа статус на форкирано дете
- pcntl_wait() - Чека или враќа статус на форкирано дете
- pcntl_fork() - Форкира тековно активен процес
- pcntl_signal() - Инсталира обработувач на сигнали
- pcntl_wifexited() - Проверува дали кодот за статус претставува нормален излез
- pcntl_wifstopped() - Проверува дали детето процес е моментално запрено
- pcntl_wifsignaled() - Проверува дали кодот за статус претставува прекин поради сигнал
- pcntl_wexitstatus() - Враќа код за враќање на прекинат дете
- pcntl_wtermsig() - Враќа сигнал што го предизвика прекинот на детето
- pcntl_wstopsig() - Враќа сигнал што го предизвика запирањето на детето