• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • pcntl_getpriority()

    (PHP 5, PHP 7)

    获取任意进程的优先级

    说明

    pcntl_getpriority([int $pid= getmypid()[,int $process_identifier= PRIO_PROCESS]]): int

    pcntl_getpriority()获取进程号为$pid的进程的优先级。由于不同的系统类型以及内核版本下优先级可能不同,因此请参考您系统的getpriority(2)手册以获取详细的规范。

    参数

    $pid

    如果没有指定,默认是当前进程的进程号。

    $process_identifier

    PRIO_PGRP(译注:获取进程组优先级),PRIO_USER(译注:获取用户进程优先级)或PRIO_PROCESS(译注:默认值;获取进程优先级)三者之一。

    返回值

    pcntl_getpriority()返回进程的优先级或在错误时返回FALSE。值越小代表优先级越高。

    Warning

    此函数可能返回布尔值FALSE,但也可能返回等同于FALSE的非布尔值。请阅读布尔类型章节以获取更多信息。应使用===运算符来测试此函数的返回值。

    参见

    This function is ideal for checking if a given process is running, I have seen solutions that involve running the system utilites like PS and parsing the answer, which should work fine, but this allows you to check a given PID with a single call
    function CheckPID( $PID )
    {
        // Check if the passed in PID represents a vlaid process in the system
        // Returns true if it does
        // Turn off non-fatal runtime warning for a moment as we know we 
        // will get one if the PID does not represent a valid process
     
      $oldErrorLevel = error_reporting(0);
      error_reporting( $oldErrorLevel & ~E_WARNING );
      $res = pcntl_getpriority($PID);
      error_reporting( $oldErrorLevel);
      return ! ( $res === false);
    }