Ce face proc_nice
Pe Linux și macOS, fiecare proces are o valoare „nice” între -20 (prioritate mare) și 19 (prioritate mică). proc_nice(10) crește valoarea cu 10, deci scriptul primește mai puțin timp de procesor când serverul este ocupat. Este util pentru importuri, backup-uri și rapoarte rulate din cron.
Un utilizator obișnuit poate doar să scadă prioritatea (valori pozitive). Valorile negative cer drepturi de root.
Parametri
| Parametru | Descriere |
|---|---|
$priority |
Cu cât se schimbă valoarea nice. Pozitiv scade prioritatea, negativ o crește. |
Ce returnează
true la succes, false la eroare.
Exemple
Exemplul 1: Prioritate mai mică pentru un import
Citim valoarea nice a procesului cu ps înainte și după.
<?php
$nice = fn() => (int) trim(shell_exec("ps -o ni= -p " . getmypid()));
$inainte = $nice();
var_dump(proc_nice(5));
echo "Valoarea nice a crescut cu " . ($nice() - $inainte);
Rezultat
bool(true)
Valoarea nice a crescut cu 5
Greșeli frecvente
- Apelezi
proc_nice(-5)fără root. PrimeștiWarning: ... Only a super user may attempt to increase the priorityșifalse. - Crezi că poți reveni la prioritatea de dinainte. Un utilizator obișnuit nu poate scădea valoarea la loc; schimbarea rămâne până la finalul procesului.
Comenzi înrudite
proc_open: Pornește un proces cu control complet: canale separate pentru intrare, ieșire și erori, director și variabile de mediu proprii.set_time_limit: Stabilește câte secunde poate rula scriptul înainte să fie oprit.sleep / usleep: Oprește scriptul pentru un număr de secunde (sleep) sau de microsecunde (usleep).