TIME(1)

NOME
time - esegue programmi e riepiloga l'uso delle risorse di sistema

SINTASSI

time
    [ -apqvV ] [ -f FORMATO ] [ -o FILE ]
    [ --append ] [ --verbose ] [ --quiet ] [ --portability ]
    [ --format=FORMATO ] [ --output=FILE ] [ --version ]
    [ --help ] COMANDO [ ARGOMENTI ]

DESCRIZIONE
time esegue il progamma COMANDO con gli argomenti ARGOMENTO.... Quando COMANDO termina, time mostra informazioni sulle risorse usate da COMANDO (per impostazione predefinita, sullo standard error). Se COMANDO esce con uno stato diverso da zero, time mostra un messaggio di avvertimento e lo stato d'uscita.

time stabilisce quali informazioni mostrare sulle risorse usate dal COMANDO prendendole dalla stringa FORMATO. Se non è specificato un formato sulla riga di comando, ma la variabile d'ambiente TIME è impostata, viene usato questo valore come formato. Altrimenti viene usato un formato predefinito precompilato in time

Le opzioni di time devono comparire sulla riga di comando prima di COMANDO. Tutto ciò che sulla riga di comando compare dopo è passato come argomento a COMANDO.

OPZIONI

-o file, --output=file
    Scrive le statistiche sull'uso delle risorse su FILE invece che sullo standard error. Per impostazione predefinita, questo sovrascrive il precedente contenuto del file. Quest'opzione è utile per raccogliere informazioni su programmi interattivi e su programmi che producono risultati sul canale standard error.

-a, --append
    Aggiunge le informazioni sull'uso delle risorse nel file in output invece di sovrascriverle. Quest'opzione è utile solo con l'opzione `-o' o `--output' .

-f FORMATO, --format FORMATO
    Usa FORMATO come stringa di formato che controlla il risultato di time. Si vedano ulteriori informazioni più avanti.

--help
    Stampa una sintesi delle opzioni della riga di comando ed esce.

-p, --portability
    Usa la seguente stringa di formato, per conformità con lo standard POSIX 1003.2:
              real %e
              user %U
              sys %S

-v, --verbose
    Usa il formato verboso precompilato, che mostra ogni informazione disponibile sull'uso delle risorse del programma, ognuna su una propria riga, con una descrizione in inglese del suo significato.

--quiet
    Non riporta lo stato del programma anche se è diverso da zero.

-V, --version
    Stampa il numero di versione del programma ed esce.

FORMATTARE L'OUTPUT
La stringa di formato FORMATO controlla il contenuto dell'output di time. La strinfa di formato può essere impostata usando le opzioni `-f' o `--format', `-v' o `--verbose', o `-p' o `--portability'. se queste non sono fornite, ma è impostata la variabile d'ambiente ITIME , il suo valore è usato come stringa di formato. Altrimenti, viene usato un formato predefnito precompilato. Il formato predefinito è:
  %Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k
  %Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps

La stringa di formato generalmente consiste di 'specificatori di risorse' frammiste a testo normale. Un segno di percentuale (`%') nella stringa di f ormato fa interpretare il carattere che segue come specificatore di risorsa, che è simile ai caratteri di formattazione della funzione printf(3) .

Una barra rovesciata dichiara una sequenza di protezione (backslash escape), che viene tradotta in un solo carattere di stampa sull'output. `\t' dà come risultato un carattere di tabulazione, `\n' un ritorno a capo, e `\\' una barra rovesciata. Una barra rovesciata seguita da qualsiasi altro carattere dà come risultato un punto interrogativo ('?') seguito da una barra rovesciata, per indicare che è stata data una sequenza di protezione non valida.

Ulteriote teso nella stringa di formato è copiato letteralmente nell'output. time stampa sempre un carattere di newline alla fine della stampa delle informaizoni sull'uso dele risorse, per cui normalmente le stringhe di formato non finiscono con un caratter di newline (o `\n').

Ci sono molte specifiche di risorsa. Non tutte le risorse sono misurate da tutte le versioni di Unix, per cui alcuni dei valori vengono riportati come zero. Qualsiasi carattere che segue un segno di percentuale che non è elencato nella tabella qui sotto dà come risultato un punto interrogativo, seguito da quel carattere, per indicare che è stato dato uno specificatore di risorsa non valido.

Gli specificatori di risorsa, che sono un soprainsieme di quelli riconosciuti dal comando precompilato `time' di tcsh(1), sono:
    %   Un '%' letterale.
    C   Nome e argomenti da riga di comando del comando che è stato misurato.
    D   Dimensione media delle aree dati non condivise dei processi, in chilobyte.
    E   Tempo reale (quel che mostra l'orologio a muro) trascorso usato dal processo, (in [ore:]minuti:secondi).
    F   Numero di errori di pagina, maggiori o che richiedono I/O, accaduti durante il funzionamento del processo. Sono errori in cui la pagina è effetivamente portata fuori dalla memoria primaria.
    I   Numero di input del processo nel filesystem.
    K   Media totale (data+stack+text) della memoria usata dal processo, in chilobyte.
    M   Massima dimensione dell'insieme residente del processo durante la sua esistenza, in chilobyte.
    O   Numero di output del processo nel filesystem.
    P   Percentuale di CPU che questo lavoro ha preso. Questa è conteggiata come tempo consumato dall'utente + tempo consumato dal sistema diviso per il tempo totale. Stampa anche un segno di percentuale.
    R   Numero di errori minori di pagina, o recuperabili. Sono errori per pagine che non sono valide ma che non sono ancora state reclamate da altre pagine virtuali. Di conseguenza il dato nella pagina è ancora valido, ma le tabelle di sistema devono venire aggiornate.
    S   Numero totale di secondi-CPU usati dal sistema per conto del processo (in kernel mode), in secondi.
    U   Numero totale di secondi-CPU che il processo ha usato direttamente (in user mode), in secondi.
    W   Numero di volte che il processo è stato spostato fuori dalla memoria principale.
    X   Dimensione media dello spazio di testo condiviso nel processo, in chilobyte.
    Z   Dimensione della pagina di sistema, in byte. Questa è una costante di sistema, ma varia tra i sistemi.
    c   Numero di volte che il processo è stato scambiato involontariamente nel contesto (perché la porzione di tempo è scaduta).
    e   Tempo reale (quel che mostra l'orologio a muro) trascorso usato dal processo, in secondi.
    k   Numero di segnali recapitati al processo.
    p   Dimensione media dello spazio stack non condiviso del processo in chilobyte.
    r   Numero di messaggi di socket ricevuti dal processo.
    s   Numero di messaggi di socket inviati dal processo.
    t   Dimensione media dell'insieme residente del processo, in chilobyte.
    w   Numero di volte che il programma è stato scambiato volontariamente nel contesto, per esempio mentre era in attesa del completamente di un'operazione di I/O.
    x   Stato di uscita del comando.

ESEMPI
Per eseguire il comando `wc /etc/hosts' e mostrare le informazioni predefinite:
     time wc /etc/hosts

Per eseguire il comando `ls -Fs' e mostrare solo il tempo consumato dall'utente, dal sistema e il tempo totale:
     time -f "\t%E real,\t%U user,\t%S sys" ls -Fs

Per editare il file BORK e aggiungere il tempo trascorso e il numero di segnali al file `log', leggendo la stringa di formato dalla variabile d'ambiente `TIME':
     export TIME="\t%E,\t%k" # se si usa bash o ksh
     setenv TIME "\t%E,\t%k" # se si usa csh o tcsh
     time -a -o log emacs bork

Gli utenti della shell bash devono usare un percorso esplicito per eseguire il comando esterno time e non la variante precompilata della shell. Sui sistemi in cui time è installato in /usr/bin, il primo esempio diventerebbe
     /usr/bin/time wc /etc/hosts

PRECISIONE
The elapsed time is not collected atomically with the execution of the program; as a result, in bizarre circumstances (if the time command gets stopped or swapped out in between when the program being timed exits and when time calculates how long it took to run), it could be much larger than the actual execution time.

Quando il tempo di esecuzione di un comando è molto prossimo a zero, alcuni valori (p.es. la percentuale di CPU usata) può essere riportato o come zero (il che è errato) o con un punto interrogativo.

La maggior parte delle informazioni mostrate da time deriva dalla chiamata di sistema wait3(2). I numeri dipendono da quelli restituiti da wait3(2). Su sistemi che non hanno la chiamata wait3(2) che restituisce informazioni sullo stato, viene usata la chiamata di sistema times(2), checomunque fornisce molte meno informazioni di wait3(2), per cui sui queisistemi time riporta la maggior parte delle risorse come zero.

The `%I' and `%O' values are allegedly only `real' input and output and do not include those supplied by caching devices. The meaning of `real' I/O reported by `%I' and `%O' may be muddled for workstations, especially diskless ones.

DIAGNOSTICA
Il comando time restituisce risultati quando il programma esce, viene arrestato, o è stato terminato da un segnale. Se il programma esce normalmente, il codice di ritorno di time è il codice di ritorno del programma che è stato eseguito e misurato. Altrimenti, il codice di ritorno è 128 più il numero del segnale che ha causato l'arresto o il termine del programma.

AUTORE
time è stata scritta da David MacKenzie. Questa pagina di manuale è stata aggiunta da Dirk Eddelbuettel <edd@debian.org>, il manutentore di Debian GNU/Linux, per essere usata dalla distribuzione Debian GNU/Linux, ma naturalmente può essere usata anche da altri.

VEDERE ANCHE
tcsh(1), printf(3)

TRADUZIONE
La traduzione italiana di questa pagina di manuale è stata creata da Giulio Daprelà <giulio@pluto.it>, Elisabetta Galli <lab@kkk.it> e Marco Curreli <marcocurreli@tiscali.it>

Questa traduzione è documentazione libera; leggere la GNU General Public License Versione 3 (https://www.gnu.org/licenses/gpl-3.0.html) o successiva per le condizioni di copyright. Non ci assumiamo alcuna responsabilità.

Per segnalare errori nella traduzione di questa pagina di manuale inviare un messaggio a pluto-ildp@lists.pluto.it.