pcntl_setpriority

(PHP 5, PHP 7, PHP 8)

pcntl_setprioritySürecin önceliğini değiştirir

Açıklama

pcntl_setpriority(int $öncelik, int $pid = null, int $süreç_türü = PRIO_PROCESS): int|false

pid süreç kimlikli sürecin önceliğini değiştirir.

Bağımsız Değişkenler

öncelik

Genelde -20 ile 20 arasında bir değerdir. Öntanımlı öncelik 0 olup daha küçük değerler sürecin önceliğini arttırır. Öncelik seviyeleri sistem türüne ve çekirdeğe göre farklılık gösterdiğinden ayrıntılı bilgi için sisteminizdeki setpriority(2) kılavuz sayfasına bakınız.

pid

null aktarılırsa işlevi çağıran sürecin süreç kimliği kullanılır.

süreç_türü

PRIO_PGRP, PRIO_USER, PRIO_PROCESS, PRIO_DARWIN_BG ve PRIO_DARWIN_THREAD sabitlerinden biri.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0 pid artık null olabiliyor.

Ayrıca Bakınız

add a note add a note

User Contributed Notes 2 notes

up
1
t dot stobbe at blackdogdev dot com
18 years ago
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).
up
-1
leandro dot pereira at gmail dot com
19 years ago
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;
}

?>
To Top