note 59889 added to function.getmypid
| From: | kroczu at interia dot pl | Date: | Mon, 19 Dec 2005 12:59:28 +0000 |
| Subject: | note 59889 added to function.getmypid | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-100411@lists.php.net to get a copy of this message | ||
<?
/*
mixed getpidinfo(mixed pid [, string system_ps_command_options])
this function gets PID-info from system ps command and return it in useful assoc-array,
or return false and trigger warning if PID doesn't exists
$pidifo=getpidinfo(12345);
print_r($pidifo);
Array
(
[USER] => user
[PID] => 12345
[%CPU] => 0.0
[%MEM] => 0.0
[VSZ] => 1720
[RSS] => 8
[TT] => ??
[STAT] => Is
[STARTED] => 6:00PM
[TIME] => 0:00.01
[COMMAND] => php someproces.php > logfile
)
*/
//////////////////////////////////////////////
function getpidinfo($pid, $ps_opt="aux"){
$ps=shell_exec("ps ".$ps_opt."p ".$pid);
$ps=explode("\n", $ps);
if(count($ps)<2){
trigger_error("PID ".$pid." doesn't exists", E_USER_WARNING);
return false;
}
foreach($ps as $key=>$val){
$ps[$key]=explode(" ", ereg_replace(" +", " ",
trim($ps[$key])));
}
foreach($ps[0] as $key=>$val){
$pidinfo[$val] = $ps[1][$key];
unset($ps[1][$key]);
}
if(is_array($ps[1])){
$pidinfo[$val].=" ".implode(" ", $ps[1]);
}
return $pidinfo;
}
?>
----
Manual Page -- http://www.php.net/manual/en/function.getmypid.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+59889
Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+59889&report=yes&reason=added+to+the+manual
Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+59889&report=yes&reason=bad+code
Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+59889&report=yes&reason=spam
Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+59889&report=yes&reason=useless
Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+59889&report=yes&reason=non-english
Delete: already in docs -- http://master.php.net/manage/user-notes.php?action=delete+59889&report=yes&reason=already+in+docs
Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+59889&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+59889&report=yes
Search -- http://master.php.net/manage/user-notes.php