<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.pcntl.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'function.pcntl-wait.php',
    1 => 'pcntl_wait',
    2 => 'Ожидает или возвращает статус порождённого дочернего процесса',
  ),
  'up' => 
  array (
    0 => 'ref.pcntl.php',
    1 => 'Функции модуля PCNTL',
  ),
  'prev' => 
  array (
    0 => 'function.pcntl-unshare.php',
    1 => 'pcntl_unshare',
  ),
  'next' => 
  array (
    0 => 'function.pcntl-waitid.php',
    1 => 'pcntl_waitid',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/pcntl/functions/pcntl-wait.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.pcntl-wait" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">pcntl_wait</h1>
  <p class="verinfo">(PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">pcntl_wait</span> &mdash; <span class="dc-title">Ожидает или возвращает статус порождённого дочернего процесса</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.pcntl-wait-description">
  <h3 class="title">Описание</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>pcntl_wait</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter reference">&$status</code></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$flags</code><span class="initializer"> = 0</span></span>, <span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter reference">&$resource_usage</code><span class="initializer"> = []</span></span>): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>

  <p class="para rdfs-comment">
   Функция ожидания приостанавливает выполнение текущего процесса до тех пор,
   пока дочерний процесс не завершится или пока не будет получен сигнал
   который завершает текущий процесс или вызывает функцию обработки сигнала.
   Если дочерний процесс уже завершился ко времени вызова
   (так называемые &quot;зомби&quot; процессы), функция незамедлительно вернёт управление.
   Обратитесь к вашей системному руководству (man) wait(2) для уточнения
   специфики работы wait в вашей системе.
  </p>
  <blockquote class="note"><p><strong class="note">Замечание</strong>: 
   <p class="para">
    Эта функция эквивалентна вызову <span class="function"><a href="function.pcntl-waitpid.php" class="function">pcntl_waitpid()</a></span>
    с аргументом <code class="parameter">process_id</code> равным <code class="literal">-1</code> и
    без аргумента <code class="parameter">flags</code>.
   </p>
  </p></blockquote>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.pcntl-wait-parameters">
  <h3 class="title">Список параметров</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">status</code></dt>
     <dd>
      <p class="para">
       <span class="function"><strong>pcntl_wait()</strong></span> разместит информацию о статусе
       по ссылке в аргументе <code class="parameter">status</code>, который может
       быть передан в следующие функции:
       <span class="function"><a href="function.pcntl-wifexited.php" class="function">pcntl_wifexited()</a></span>,
       <span class="function"><a href="function.pcntl-wifstopped.php" class="function">pcntl_wifstopped()</a></span>,
       <span class="function"><a href="function.pcntl-wifsignaled.php" class="function">pcntl_wifsignaled()</a></span>,
       <span class="function"><a href="function.pcntl-wexitstatus.php" class="function">pcntl_wexitstatus()</a></span>,
       <span class="function"><a href="function.pcntl-wtermsig.php" class="function">pcntl_wtermsig()</a></span> и
       <span class="function"><a href="function.pcntl-wstopsig.php" class="function">pcntl_wstopsig()</a></span>.
      </p>
     </dd>
    
    
     <dt><code class="parameter">flags</code></dt>
     <dd>
      <p class="para">
       Если системный вызов wait3 (man 2 wait3) доступен в вашей системе (как правило в BSD-подобных системах),
       вы можете задать необязательный аргумент <code class="parameter">flags</code>.
       Если этот параметр не задан, будет использован стандартный системный вызов wait.
       Если системный вызов wait3 не доступен для вашей системы, передача значения
       аргумента <code class="parameter">flags</code> не будет иметь значения.
       Значение аргумента <code class="parameter">flags</code> - это битовая маска,
       которая может принимать значение ноль или более путём логического объединения следующих констант:
       <table class="doctable table">
        <caption><strong>Возможные значения для <code class="parameter">flags</code></strong></caption>
        
         <tbody class="tbody">
          <tr>
           <td><strong><code><a href="pcntl.constants.php#constant.wnohang">WNOHANG</a></code></strong></td>
           <td>
            Незамедлительно вернуть управление, если ни один из дочерних процессов не завершён
           </td>
          </tr>

          <tr>
           <td><strong><code><a href="pcntl.constants.php#constant.wuntraced">WUNTRACED</a></code></strong></td>
           <td>
            Вернуть управление для остановленных дочерних процессов, о статусе которых ещё не сообщено
           </td>
          </tr>

         </tbody>
        
       </table>

      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.pcntl-wait-returnvalues">
  <h3 class="title">Возвращаемые значения</h3>
  <p class="para">
   Функция <span class="function"><strong>pcntl_wait()</strong></span> возвращает ID завершённого дочернего процесса,
   -1, если возникла ошибка, или ноль, если <code class="literal">WNOHANG</code> был передан в аргумент
   <code class="parameter">options</code> (на системах с доступным системным вызовом wait3)
   и не было доступных дочерних процессов.
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.pcntl-wait-seealso">
  <h3 class="title">Смотрите также</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.pcntl-fork.php" class="function" rel="rdfs-seeAlso">pcntl_fork()</a> - Разветвить (fork) текущий запущенный процесс</span></li>
    <li><span class="function"><a href="function.pcntl-signal.php" class="function" rel="rdfs-seeAlso">pcntl_signal()</a> - Устанавливает обработчик сигнала</span></li>
    <li><span class="function"><a href="function.pcntl-wifexited.php" class="function" rel="rdfs-seeAlso">pcntl_wifexited()</a> - Проверяет, соответствует ли код завершения процесса нормальному завершению</span></li>
    <li><span class="function"><a href="function.pcntl-wifstopped.php" class="function" rel="rdfs-seeAlso">pcntl_wifstopped()</a> - Проверяет, остановлен ли дочерний процесс</span></li>
    <li><span class="function"><a href="function.pcntl-wifsignaled.php" class="function" rel="rdfs-seeAlso">pcntl_wifsignaled()</a> - Проверить, соответствует ли код завершения процесса завершению по сигналу</span></li>
    <li><span class="function"><a href="function.pcntl-wexitstatus.php" class="function" rel="rdfs-seeAlso">pcntl_wexitstatus()</a> - Получить код возврата завершённого дочернего процесса</span></li>
    <li><span class="function"><a href="function.pcntl-wtermsig.php" class="function" rel="rdfs-seeAlso">pcntl_wtermsig()</a> - Получить сигнал, из-за которого был принудительно завершён дочерний процесс</span></li>
    <li><span class="function"><a href="function.pcntl-wstopsig.php" class="function" rel="rdfs-seeAlso">pcntl_wstopsig()</a> - Получить сигнал, из-за которого был остановлен дочерний процесс</span></li>
    <li><span class="function"><a href="function.pcntl-waitpid.php" class="function" rel="rdfs-seeAlso">pcntl_waitpid()</a> - Ожидает или возвращает статус порождённого дочернего процесса</span></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>