frumos (Unix)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

frumos este o comanda Unix si Unix-like de operare sisteme și , mai general al POSIX [1] sisteme , care execută o altă comandă prin schimbarea valorii sale frumos.

Valoarea plăcută este un atribut numeric al fiecărui proces pe sistemele Unix și similare Unix, care este utilizat de programator pentru a determina cât timp CPU trebuie să petreacă rulând procesul. Cu aceeași prioritate și politică de planificare, procesele care au valori frumoase mai mari obțin proporțional mai puțin timp CPU decât procesele care au valori frumoase mai mici [2] și, prin urmare, execuția lor se desfășoară mai lent, favorizând celelalte procese. Ideea generală este că un utilizator se comportă într - un mod politicos (traducerea din limba engleză a frumos termenul este într - adevăr politicos, simpatic) față de alți utilizatori atunci când începe deosebit de lungi și elaborările intense, le incepand cu o valoare ridicată frumos într - un mod de a nu încetini excesiv execuția proceselor altor utilizatori.

Să luăm un exemplu despre un sistem Linux Mint 17.2 Rafaela consultând System Monitor în care aproape toate programele au 0 frumos:

  • BOINC este un program de calcul distribuit și nu trebuie să interfereze cu munca computerului, în ciuda utilizării a aproape 100% din procesoare: are setul frumos la 10
  • Pentru a nu auzi smucituri și a vedea un film neconectat, managerul audio PulseAudio trebuie să aibă o prioritate foarte ridicată, în ciuda utilizării a mai puțin de 1% din procesor și are simpaticul la -11

frumos este, de asemenea, numele unui apel de sistem definit de standardul POSIX [3] care modifică valoarea frumoasă a procesului care îl invocă. De fapt, comanda drăguță funcționează prin apelarea apelului de sistem cu același nume.

Pentru a micșora valoarea frumoasă este necesar să aveți privilegii de administrator ( rădăcină ), dar acest lucru nu este necesar pentru ao crește. De obicei, este posibilă scăderea valorii frumoase până la 20 de unități comparativ cu valoarea implicită sau creșterea acesteia până la 19 unități: pot fi specificate abateri mai mari, dar acestea sunt aduse automat în limitele menționate mai sus.

Comanda frumoasă

Utilizare

Sintaxa generală a lui nice este următoarea:

 frumos [ opțiuni ] [-] comandă [ arg1 [ arg2 ...]]

Parametrul de comandă indică comanda de executat, iar parametrii arg opționali parametrii acesteia.

Linia dublă - (opțional) indică faptul că următorii parametri nu trebuie considerați opțiuni.

Opțiunile semnificative includ:

-n delta
adaugă algebric valoarea delta valorii frumoase , pentru a o mări sau a o micșora; delta poate fi negativ, pentru a privilegia programul asupra celorlalte, dar în acest caz trebuie să aveți privilegii de administrator ( root ).

Dacă opțiunea -n nu este specificată, comportamentul implicit este de a adăuga 10 la valoarea frumoasă (ca și cum ar fi specificată opțiunea -n 10 ).

Exemple

Rulați două copii ale programului de factori în paralel, fiecare dintre aceștia calculând factorii primi ai numărului 4611686018427387903 , măsurând timpul de execuție folosind comanda time : prima copie se efectuează cu o valoare frumoasă ridicată (crescută cu 20 de unități față de normal), în timp ce a doua utilizează valoarea implicită frumos. Ambele copii au nevoie de același timp CPU pentru a calcula, dar prima copie este dezavantajată și (pe un singur sistem CPU) își finalizează calculul bine după a doua:

 timp frumos -n 20 factor 4611686018427387903 &
factor timp 4611686018427387903 &

Simpaticul apel de sistem

Apelul sistem de frumos este declarat în signal.h fișierul header :

 #include <signal.h>
int nice ( int incr );

Parametrul incr indică cu cât crește (sau scade, în cazul unei valori negative) valoarea frumoasă a procesului de apelare.

Valoare returnată

Dacă nu există erori, valoarea frumoasă anterioară este returnată și variabila errno rămâne neschimbată.

În caz contrar, dacă există erori, valoarea -1 este returnată și variabila errno este modificată pentru a indica eroarea specifică.

Rețineți că -1 este o valoare validă frumos pe unele sisteme, deci nu este suficient pentru a verifica rezultatul pentru a determina dacă au existat erori, dar trebuie să setați mai întâi variabila errno la 0 și apoi verificați dacă valoarea sa este schimbat.

Erori

În cazul unei erori, variabila errno poate fi:

  • EPERM - Parametrul incr este negativ și apelantul nu are privilegii suficiente pentru a reduce valoarea frumoasă .

Notă

  1. ^ (EN) nice (utilități) , în The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition. Adus 12/02/2009 .
  2. ^ (RO) Valoare plăcută în specificațiile de bază ale grupului deschis Numărul 6 IEEE Std 1003.1, ediția 2004. Adus 16/02/2009 .
  3. ^ (RO) frumos (funcții) , în Specificațiile de bază ale grupului deschis Numărul 6 IEEE Std 1003.1, ediția 2004. Adus 12/02/2009 .

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT