As for the renice function by leandro dot pereira at gmail dot com, this isn't true. pcntl_setpriority() doesn't set the nice level of a process, but instead sets the base priority of it. At first glance this might seem like the same thing, but on a system level, they are actually quite different.
In fact, if you're looking to use pcntl_setpriority() to prioritize your process (a tool or a daemon or what-not), I wouldn't recomend using setpriority at all, but renice it instead. Let the system manage priorities and you'll end up with the results you were looking for.
This applies only to POSIX based systems only (as does the function presented by leandro dot pereira at gmail dot com as well).pcntl_setpriority
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
pcntl_setpriority
Референца за `function.pcntl-setpriority.php` со подобрена типографија и навигација.
pcntl_setpriority
класата mysqli_driver
pcntl_setpriority — Промени го приоритетот на кој било процес
= NULL
pcntl_setpriority() поставува приоритет на
process_id.
Параметри
priority-
priorityобично е вредност во опсег-20to20. Стандардниот приоритет е0додека пониска нумеричка вредност предизвикува поповолно закажување. Бидејќи нивоата на приоритет може да се разликуваат помеѓу типовите на системи и верзиите на јадрото, ве молиме погледнете ја man страницата setpriority(2) на вашиот систем за специфични детали. process_id-
Враќа
null, се користи идентификаторот на процесот на тековниот процес. mode-
Еден од
PRIO_PGRP,PRIO_USER,PRIO_PROCESS,PRIO_DARWIN_BGorPRIO_DARWIN_THREAD.
Вратени вредности
Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.0.0 |
process_id сега е null.
|
Белешки од корисници 2 забелешки
The following snippet may be used under older versions of PHP to provide similar functionality. Tested only under Linux.
<?php
function _pcntl_setpriority($priority, $pid = 0)
{
$priority = (int)$priority;
$pid = (int)$pid;
if ($priority > 20 && $priority < -20) {
return False;
}
if ($pid == 0) {
$pid = getmypid();
}
return system("renice $priority -p $pid") != false;
}
?>