TIME(1)

NUME
time - rulează programe și rezumă utilizarea resurselor sistemului

SINOPSIS

time
    [ -apqvV ] [ -f FORMAT ] [ -o FIȘIER ]
    [ --append ] [ --verbose ] [ --quiet ] [ --portability ]
    [ --format=FORMAT ] [ --output=FIȘIER ] [ --version ]
    [ --help ] COMANDA [ ARG ]

DESCRIERE
time execută programul COMANDA cu orice argumente date ARG.... Când COMANDA a terminat, time afișează informații despre resursele utilizate de către COMANDĂ (la ieșirea de eroare standard, în mod implicit). Dacă COMANDA iese cu o stare diferită de zero, time afișează un mesaj de avertizare și starea de ieșire.

time determină ce informații trebuie afișate despre resursele utilizate de COMANDĂ din șirul FORMAT. În cazul în care nu se specifică niciun format în linia de comandă, dar este definită variabila de mediu TIME, valoarea acesteia este utilizată ca format. În caz contrar, se utilizează formatul implicit încorporat în time.

Opțiunile pentru time trebuie să apară pe linia de comandă înainte de COMANDĂ. Tot ceea ce apare pe linia de comandă după COMANDĂ este transmis ca argument pentru COMANDĂ.

OPȚIUNI

-o FIȘIER, --output=FIȘIER
    Scrie statisticile de utilizare a resurselor în FIȘIER în loc de fluxul de eroare standard. În mod implicit, acest lucru suprascrie fișierul, distrugând conținutul anterior al acestuia. Această opțiune este utilă pentru colectarea de informații despre programele interactive și programele care produc ieșiri pe fluxul de eroare standard.

-a, --append
    Adaugă informațiile privind utilizarea resurselor la fișierul de ieșire în loc să le suprascrie. Această opțiune este utilă numai cu opțiunea „-o” sau „--output”.

-f FORMAT, --format FORMAT
    Utilizează FORMAT ca șir de format care controlează ieșirea lui time. A se vedea informațiile suplimentare de mai jos.

--help
    Arată un rezumat al opțiunilor liniei de comandă și iese.

-p, --portability
    Utilizează următorul șir de formate, în conformitate cu standardul POSIX 1003.2:
              real %e
              user %U
              sys %S

-v, --verbose
    Utilizează formatul încorporat de afișare detaliată a informațiilor, care afișează fiecare informație disponibilă privind utilizarea resurselor programului pe propria linie, cu o descriere în limba engleză a semnificației acesteia.

--quiet
    Nu raportează starea programului, chiar dacă este diferită de zero.

-V, --version
    Afișează numărul versiunii de time și iese.

FORMATAREA IEȘIRII
Șirul de format FORMAT controlează conținutul ieșirii time. Șirul de format poate fi definit cu ajutorul opțiunilor „-f” sau „--format”, „-v” sau „--verbose”, „-p” sau „--portability”. În cazul în care nu sunt date, dar este definită variabila de mediu TIME, valoarea acesteia este utilizată ca șir de format. În caz contrar, se utilizează un format implicit încorporat. Formatul implicit este:
  %Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k
  %Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps

Șirul de format constă, de obicei, din „specificatori de resurse” intercalați cu text simplu. Un semn de procentaj („%”) în șirul de format determină interpretarea caracterului următor ca fiind un specificator de resursă, ceea ce este similar cu caracterele de formatare din funcția printf(3).

O bară oblică inversă („\”) introduce o „eludare de bară oblică inversă”, care este transformată într-un singur caracter de tipar la ieșire. „\t” generează un caracter de tabulare, „\n” generează o linie nouă, iar „\\” generează o bară oblică inversă. O bară oblică inversă urmată de orice alt caracter produce un semn de întrebare („?”) urmat de o bară oblică inversă, pentru a indica faptul că a fost dată o eludare de bară oblică inversă nevalidă.

Alt text din șirul de format este copiat textual la ieșire. time imprimă întotdeauna o linie nouă după afișarea informațiilor privind utilizarea resurselor, astfel încât, în mod normal, șirurile de formate nu se termină cu un caracter de linie nouă (sau „\n”).

Există multe specificații privind resursele. Nu toate resursele sunt măsurate de toate versiunile de Unix, astfel încât unele dintre valori pot fi raportate ca fiind zero. Orice caracter care urmează după un semn de procent și care nu este listat în tabelul de mai jos determină ieșirea unui semn de întrebare („?”), urmat de acel caracter, pentru a indica faptul că a fost dat un specificator de resurse nevalid.

Specificatorii de resurse, care sunt un superset al celor recunoscuți de comanda încorporată „time” tcsh(1), sunt:
    %   Un literal „%”.
    C   Numele și argumentele liniei de comandă pentru comanda cronometrată.
    D   Dimensiunea medie a spațiului de date nepartajat, în Kiloocteți.
    E   Timpul real scurs („bătut în perete”) utilizat de proces, în [ore:]minute:secunde.
    F   Numărul de erori de pagină majore, sau care necesită In/Ieș, care au avut loc în timpul rulării procesului. Acestea sunt erori în care pagina a migrat efectiv în afara memoriei primare.
    I   Numărul de citiri din sistemul de fișiere de către proces.
    K   Memoria totală medie (date+stivă+text) folosită de proces, în Kiloocteți.
    M   Dimensiunea maximă rezidentă a procesului în timpul rulări (în memoria fizică)i, în Kiloocteți.
    O   Numărul de scrieri în sistemul de fișiere de către proces.
    P   Procentul de CPU pe care l-a obținut această sarcină. Acesta este doar timpul utilizatorului + timpul sistemului împărțit la timpul total de funcționare. De asemenea, imprimă un semn de procent.
    R   Numărul de erori de paginare minore, sau corectabile. Acestea sunt pagini care nu sunt valide (deci sunt defecte), dar care nu au fost încă solicitate de alte pagini virtuale. Prin urmare, datele din pagină sunt încă valide dar tabelele de sistem trebuie actualizate.
    S   Numărul total de secunde CPU utilizate de sistem în numele procesului (în modul nucleu), în secunde.
    U   Numărul total de secunde CPU pe care procesul le-a folosit direct (în modul utilizator), în secunde.
    W   De câte ori a fost programul scos din memoria principală.
    X   Dimensiunea medie a spațiului de text partajat, în Kiloocteți.
    Z   Dimensiunea paginii sistemului, în octeți. Aceasta este o constantă ce depinde de sistem, dar diferă de la un sistem la altul.
    c   De câte ori a fost schimbat involuntar contextul procesului (din cauză că felia de timp a expirat).
    e   Timpul real scurs („bătut în perete”) utilizat de proces, în secunde.
    k   Numărul de semnale trimise procesului.
    p   Dimensiunea medie a stivei nepartajate a procesului, în Kiloocteți.
    r   Numărul de mesaje de soclu primite de proces.
    s   Numărul de mesaje de soclu trimise de proces.
    t   Dimensiunea medie rezidentă a procesului (în memoria fizică), în Kiloocteți.
    w   Numărul de ori în care programul a fost schimbat în mod voluntar de context, de exemplu, în timp ce aștepta finalizarea unei operațiuni de In/Ieș.
    x   Codul stării de ieșire a comenzii.

EXEMPLE
Pentru a rula comanda «wc /etc/hosts» și a afișa informațiile implicite:
     time wc /etc/hosts

Pentru a rula comanda `ls -Fs' și a afișa doar utilizatorul, sistemul și timpul total:
     time -f "\t%E real,\t%U user,\t%S sys" ls -Fs

Pentru a edita fișierul BORK și pentru ca «time» să adauge timpul scurs și numărul de semnale în fișierul „log”, citind șirul de format din variabila de mediu „TIME”:
     export TIME="\t%E,\t%k" # Dacă folosiți bash sau ksh
     setenv TIME "\t%E,\t%k" # Dacă folosiți csh sau tcsh
     time -a -o log emacs bork

Utilizatorii shell-ului bash trebuie să utilizeze o rută explicită pentru a rula comanda externă time și nu varianta încorporată în shell. Într-un sistem în care time este instalat în /usr/bin, primul exemplu ar deveni:
     /usr/bin/time wc /etc/hosts

PRECIZIE
Timpul scurs nu este colectat în mod atomic odată cu execuția programului; ca urmare, în circumstanțe bizare (dacă comanda time este oprită sau schimbată între momentul în care programul cronometrat iese și momentul în care time calculează cât timp a durat execuția), acesta ar putea fi mult mai mare decât timpul real de execuție.

Atunci când timpul de execuție al unei comenzi este foarte aproape de zero, unele valori (de exemplu, procentul de CPU utilizat) pot fi raportate fie ca zero (ceea ce este greșit), fie ca un semn de întrebare.

Majoritatea informațiilor afișate de time sunt derivate din apelul de sistem wait3(2). Numerele sunt la fel de bune ca cele returnate de wait3(2). Pe sistemele care nu au un apel wait3(2) care să returneze informații de stare, se utilizează în schimb apelul de sistem times(2). Cu toate acestea, oferă mult mai puține informații decât wait3(2), astfel încât, pe aceste sisteme, time raportează majoritatea resurselor ca fiind zero.

Se presupune că valorile „%I” și „%O” sunt doar intrare și ieșire „reale” și nu le includ pe cele furnizate de dispozitivele de cache. Semnificația In/Ieș „reală” raportată de „%I” și „%O” poate fi confuză pentru stațiile de lucru, în special pentru cele fără disc.

DIAGNOSTICARE
Comanda time returnează o valoare când programul iese, se oprește sau este terminat de un semnal. Dacă programul a ieșit în mod normal, valoarea returnată a lui time este valoarea returnată a programului pe care l-a executat și măsurat. În caz contrar, valoarea returnată este 128 plus numărul semnalului care a determinat oprirea sau terminarea programului.

AUTOR
time a fost scris de David MacKenzie. Această pagină de manual a fost adăugată de Dirk Eddelbuettel <edd@debian.org>, responsabilul Debian GNU/Linux, pentru a fi utilizată de distribuția Debian GNU/Linux, dar poate fi, desigur, utilizată și de alții.

CONSULTAȚI ȘI
tcsh(1), printf(3)

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Laurențiu Buzdugan <lbuz@rolix.org> și Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.