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 — Get the priority of any process
Description
int pcntl_getpriority ([ int $pid = getmypid() [, int $process_identifier = PRIO_PROCESS ]] )
pcntl_getpriority() gets the priority of pid. Because priority levels can differ between system types and kernel versions, please see your system's getpriority(2) man page for specific details.
Parameters
- pid
-
If not specified, the pid of the current process is used.
- process_identifier
-
One of PRIO_PGRP, PRIO_USER or PRIO_PROCESS.
Return Values
pcntl_getpriority() returns the priority of the process or FALSE on error. A lower numerical value causes more favorable scheduling.
Warning
This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE, such as 0 or "". Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.
See Also
- pcntl_setpriority() - Change the priority of any process
User Contributed Notes
pcntl_getpriority
pcntl_getpriority
jonathan at jcdesigns dot com
15-May-2008 09:12
15-May-2008 09:12