PHP.mk документација

proc_nice

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.proc-nice.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.proc-nice.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
proc_nice

Референца за `function.proc-nice.php` со подобрена типографија и навигација.

function.proc-nice.php

proc_nice

класата mysqli_driver

proc_niceChange the priority of the current process

= NULL

proc_nice(int $priority): bool

proc_nice() Ја менува приоритетот на тековниот процес priorityго менува приоритетот на тековниот процес за износот наведен во priority . Позитивна priority ќе го намали приоритетот на тековниот процес, додека негативна

proc_nice() ќе го зголеми приоритетот. proc_open() не е поврзано со

Параметри

priority

и неговите поврзани функции на кој било начин.

Новата вредност на приоритетот, вредноста на ова може да се разликува на платформите. -20 На Unix, ниска вредност, како што е

значи висок приоритет, додека позитивните вредности имаат понизок приоритет. priority За Windows

параметарот го има следното значење: Класа на приоритет
Можни вредности priority < -9
Висок приоритет priority < -4
Над нормален приоритет priority < 5 & priority > -5
Нормален приоритет priority > 5
Под нормален приоритет priority > 9

Вратени вредности

Патеката до PHP скриптата што треба да се провери. true на успех или false Неактивен приоритет E_WARNING исто така се генерира.

Дневник на промени

Верзија = NULL
7.2.0 Оваа функција сега е достапна на Windows.

Примери

Пример #1 Користење proc_nice() за поставување на приоритетот на процесот на висок

<?php
// Highest priority
proc_nice(-20);
?>

Белешки

Забелешка: Достапност

proc_nice() ќе постои само ако вашиот систем има 'nice' можности. 'nice' е во согласност со: SVr4, SVID EXT, AT&T, X/OPEN, BSD 4.3.

Забелешка: Само за Windows

proc_nice() ќе го промени тековниот process приоритет, дури и ако PHP е компајлиран со безбедност на нишки.

Види Исто така

  • pcntl_setpriority() - Променете го приоритетот на кој било процес

Белешки од корисници 5 белешки

kevin AT REMOVETHIS mrkmg.com
12 години пред
On a Linux system, running apache2 as a non-privileged user you can not increase the niceness of the process after decreasing it. Also, you can not use the apache_child_ terminate either. I found the following does work though:

<?php

//decrease niceness
proc_nice(19);

//kill child process to "reset" niceness
posix_kill( getmypid(), 28 );

?>
php на richardneill точка org
пред 15 години
If a process is reniced, then all its children inherit that niceness. So a PHP script can call proc_nice on itself, then invoke system(), and the command executed via system() will also be niced.

Also worth making a note of ionice. There's no PHP function for this, but it's important. A nice'd program will happily try to chew up all i/o bandwidth with very little CPU usage, it can therefore make the entire computer non-responsive despite the programmer's intention.  Use "ionice -c3"  or see "man ionice"
Марек
пред 15 години
Regarding ionice - on linux the impact of the ionice -c3 class is similar to that of nice, because the CPU "niceness" is taken into account when calculating the io niceness.
phil_php на zieaon dot com
пред 4 години
It is important to note that this is a relative change. I didn't read the description properly and couldn't figure out why setting proc_nice(0) didn't take the forked children back to 0!
For example if you run:
<?php
proc_nice(-5);
proc_nice(0); // will have no effect
proc_nice(5); // will take the niceness back to 0
 
?>

In PHP CLI under Debian (and probably many other Linux flavours) you can read the 'niceness' from the proc filesystem.  (There may be a PHP command that gives this info but there doesn't seem to be a link to it on this page.)
E.g
<?php
$Current_Niceness_Value = intval(explode(" ",file_get_contents("/proc/".getmypid()."/stat"))[18]);

// Note: Older versions of Linux return an unsigned integer which has to be converted to a signed integer. 
$Current_Niceness_Value = unpack("l",pack("L",intval(explode(" ",file_get_contents("/proc/".getmypid()."/stat"))[18])))[1];

?>
pandi at home dot pl
пред 17 години
Simple function for check process nice, by default returns nice of current process:

<?php

public static function getProcessNice ($pid = null) {
    if (!$pid) {
        $pid = getmypid ();
    }
        
    $res = `ps -p $pid -o "%p %n"`;
        
    preg_match ('/^\s*\w+\s+\w+\s*(\d+)\s+(\d+)/m', $res, $matches);
        
    return array ('pid' => (isset ($matches[1]) ? $matches[1] : null), 'nice' => (isset ($matches[2]) ? $matches[2] : null));
}

?>
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.