ConFoo 2025

pcntl_getpriority

(PHP 5, PHP 7, PHP 8)

pcntl_getpriorityПолучить значение приоритета процесса

Описание

pcntl_getpriority(?int $process_id = null, int $mode = PRIO_PROCESS): int|false

pcntl_getpriority() получает значение приоритета для процесса, указанного в аргументе process_id. Поскольку уровни приоритета процессов отличаются в различных типах операционных систем и версиях их ядер, пожалуйста, ознакомьтесь с вашим системным руководством getpriority(2) для получения детальной информации о специфике работы функции в вашей системе.

Список параметров

process_id

Если не указано, то будет использован идентификатор текущего процесса.

mode

Может принимать значение одной из констант PRIO_PGRP, PRIO_USER, PRIO_PROCESS, PRIO_DARWIN_BG или PRIO_DARWIN_THREAD.

Возвращаемые значения

pcntl_getpriority() возвращает приоритет процесса, или false в случае возникновения ошибки. Более низкое числовое значение (в т.ч. отрицательное) означает больший приоритет.

Внимание

Функция возвращает как логическое значение false, так и нелогическое значение, которое приводится к false. Прочитайте раздел «Логический тип», чтобы получить дополнительную информацию. Используйте оператор === для проверки значения, которое возвращает функция.

Список изменений

Версия Описание
8.0.0 process_id теперь допускает значение null.

Смотрите также

Добавить

Примечания пользователей 1 note

up
2
jonathan at jcdesigns dot com
16 years ago
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);
}
To Top