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);
}
pcntl_getpriority
(PHP 5)
pcntl_getpriority — Retourne la priorité d'un processus
Description
$pid = getmypid()
[, int $process_identifier = PRIO_PROCESS
]] )
pcntl_getpriority() retourne la priorité de
pid. Comme les niveaux
de priorités changent entre les types de systèmes et les versions de
kernel, lisez la page de manuel getpriority(2) de votre système pour
des détails spécifiques.
Liste de paramètres
-
pid -
Si non spécifié, le pid du processus courant est utilisé.
-
process_identifier -
Une constante parmi
PRIO_PGRP,PRIO_USERouPRIO_PROCESS.
Valeurs de retour
pcntl_getpriority() retourne la priorité du processus
ou FALSE en cas d'erreur. Une valeur numérique plus petite rend la
planification plus favorable.
Cette fonction peut
retourner FALSE, mais elle peut aussi retourner une valeur équivalent à
FALSE. Veuillez lire la section sur
les booléens pour plus d'informations.
Utilisez l'opérateur ===
pour tester la valeur de retour exacte de cette fonction.
