posix_times

(PHP 4, PHP 5, PHP 7)

posix_timesВозвращает информацию об использовании процессорного времени

Описание

array posix_times ( void )

Возвращает информацию об уровне загрузки CPU.

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

Возвращает массив строк с информацией об текущем использовании CPU, который включает следующее

  • ticks - число тактов, прошедшее с момента перезагрузки.
  • utime - время пользователя, затраченное текущим процессом.
  • stime - системное время, затраченное текущим процессом.
  • cutime - время пользователя, затраченное текущим процессом и его дочерними процессами.
  • cstime - системное время, затраченное текущим процессом и его дочерними процессами..

Примечания

Внимание

Данная функция не является надежной в использовании и может вернуть неправильные значения.

Примеры

Пример #1 Пример использования posix_times()

<?php

$times 
posix_times();

print_r($times);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [ticks] => 25814410
    [utime] => 1
    [stime] => 1
    [cutime] => 0
    [cstime] => 0
)

Коментарии

This function will return the system uptime as a human readable string such as "172 days, 18 hours, 15 minutes".  I didn't bother to handle singular so the grammar could be a bit off, e.g. 1 hours.

function uptime() {
  if (!$times = posix_times()) {
    return ("unknown");
  } else {
    $now = $times['ticks'];
    $days = intval($now / (60*60*24*100));
    $remainder = $now % (60*60*24*100);
    $hours = intval($remainder / (60*60*100));
    $remainder = $remainder % (60*60*100);
    $minutes = intval($remainder / (60*100));
    return ("$days days, $hours hours, $minutes minutes");
  }
}
2002-11-20 15:42:26
http://php5.kiev.ua/manual/ru/function.posix-times.html
I am not sure why, and it could just be me but on my FreeBSD system using
$time = posix_times();
$time['ticks'] is an enormous value that bears no relation to the system uptime (I tested by rebooting the system,  the number does not change).
I checked my timecounters, they tick every 10.000msec and I did the maths on the returned value and it suggested the machine had been up for over 200 days - it was reformatted about a week ago.
This could be to do with FreeBSD, or *BSD, or just *idiots like me but just check before you use the function.
 ~
FreeBSD 5.1-R, Apache 2.0.46, PHP4.3.2
2003-06-17 14:01:38
http://php5.kiev.ua/manual/ru/function.posix-times.html
If you want the output to be 'grammatically correct' then try the following code.  It will eg print '1 minute' as opposed to '1 minutes', the same goes for days and hours:

Put the following code somewhere in the head of the page code:

<?php
function uptime() {
if (!
$times posix_times() ) {
return (
"unknown");
} else {
$now $times['ticks'];
$days intval($now / (60*60*24*100));
$remainder $now % (60*60*24*100);
$hours intval($remainder / (60*60*100));
$remainder $remainder % (60*60*100);
$minutes intval($remainder / (60*100));
if (
$days == 1) {$writeDays "day";} else {$writeDays "days";}
if (
$hours == 1) {$writeHours "hour"; } else {$writeHours "hours";}
if (
$minutes == 1) {$writeMins "minute";} else {$writeMins "minutes";}
return (
"$days $writeDays$hours $writeHours$minutes $writeMins");
}
}
?>

Then put this bit where you want the info displayed:

<?php
print uptime();
?>

Regards,

nry
2003-07-19 19:21:56
http://php5.kiev.ua/manual/ru/function.posix-times.html
doesnt work with freebsd. as stated above the clock ticks at different intervals on different platforms.

for system uptime consider piping the uptime command or similar, depending on if performance is an issue or not.
2004-06-26 21:14:02
http://php5.kiev.ua/manual/ru/function.posix-times.html

    Поддержать сайт на родительском проекте КГБ