Dutch PHP Conference 2021 - Call for Papers


(PHP 5, PHP 7, PHP 8)

proc_niceÇalışan sürecin önceliğini değiştirir


proc_nice ( int $fark ) : bool

proc_nice() işlevi çalışan sürecin önceliğini fark kadar değiştirir. Pozitif bir fark sürecin önceliğini düşürürken negatif bir fark önceliği arttıracaktır.

proc_nice() işlevinin proc_open() ve onunla ilişkili diğer işlevlerle bir ilişkisi yoktur.



Önceliği değiştirecek fark.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Kullanıcının önceliği değiştirme yetkisinin olmaması gibi hata durumlarında E_WARNING seviyesinde bir ileti çıktılanır.


Bilginize: Kullanılabilirlik

proc_nice() işlevi sadece sisteminiz 'nice' yeteneğine sahipse mevcut olacaktır. 'nice' bulunan sistemler: SVr4, SVID EXT, AT&T, X/OPEN, BSD 4.3. Yani, Windows'ta proc_nice() diye bir işlev yoktur.

add a note add a note

User Contributed Notes 4 notes

kevin AT REMOVETHIS mrkmg.com
7 years ago
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:


//decrease niceness

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

php at richardneill dot org
10 years ago
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"
10 years ago
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.
pandi at home dot pl
12 years ago
Simple function for check process nice, by default returns nice of current process:


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));

To Top