[ Index ]

PHP Cross Reference of phpBB-3.3.14-deutsch

title

Body

[close]

/vendor/symfony/process/Tests/ -> NonStopableProcess.php (source)

   1  <?php
   2  
   3  /*
   4   * This file is part of the Symfony package.
   5   *
   6   * (c) Fabien Potencier <fabien@symfony.com>
   7   *
   8   * For the full copyright and license information, please view the LICENSE
   9   * file that was distributed with this source code.
  10   */
  11  
  12  /**
  13   * Runs a PHP script that can be stopped only with a SIGKILL (9) signal for 3 seconds.
  14   *
  15   * @args duration Run this script with a custom duration
  16   *
  17   * @example `php NonStopableProcess.php 42` will run the script for 42 seconds
  18   */
  19  function handleSignal($signal)
  20  {
  21      switch ($signal) {
  22          case \SIGTERM:
  23              $name = 'SIGTERM';
  24              break;
  25          case \SIGINT:
  26              $name = 'SIGINT';
  27              break;
  28          default:
  29              $name = $signal.' (unknown)';
  30              break;
  31      }
  32  
  33      echo "signal $name\n";
  34  }
  35  
  36  pcntl_signal(\SIGTERM, 'handleSignal');
  37  pcntl_signal(\SIGINT, 'handleSignal');
  38  
  39  echo 'received ';
  40  
  41  $duration = isset($argv[1]) ? (int) $argv[1] : 3;
  42  $start = microtime(true);
  43  
  44  while ($duration > (microtime(true) - $start)) {
  45      usleep(10000);
  46      pcntl_signal_dispatch();
  47  }


Generated: Mon Nov 25 19:05:08 2024 Cross-referenced by PHPXref 0.7.1