PHP 7.4.25 Released!

pcntl_getpriority

(PHP 5, PHP 7, PHP 8)

pcntl_getpriorityErmittelt die Priorität eines beliebigen Prozesses

Beschreibung

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

pcntl_getpriority() ermittelt die Priorität von process_id. Weil die Prioritätsstufen sich zwischen Systemtypen und Kernelversionen unterscheiden können, ist die getpriority(2)-Manpage des Systems bezüglich spezifischer Details zu konsultieren.

Parameter-Liste

process_id

Wenn null, wird die Process-ID des aktuellen Prozesses verwendet.

mode

Entweder PRIO_PGRP, PRIO_USER oder PRIO_PROCESS.

Rückgabewerte

pcntl_getpriority() gibt die Priorität des Prozesses zurück oder false im Fehlerfall. Ein kleinerer numerischer Wert bewirkt ein günstigeres Scheduling.

Warnung

Diese Funktion kann sowohl das boolsche false zurückliefern, als auch einen nicht-boolschen Wert, welcher zu false ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Changelog

Version Beschreibung
8.0.0 process_id ist jetzt nullable (akzeptiert den null-Wert).

Siehe auch

add a note add a note

User Contributed Notes 1 note

up
2
jonathan at jcdesigns dot com
13 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