time(1)

NOME
time - cronometra un semplice comando o informa sull'uso delle risorse

SINTASSI
time [option ...] command [argument ...]

DESCRIZIONE
Il comando time esegue il programma comando specificato con gli argomenti dati. Quando comando termina, time scrive un messaggio sullo standard error, che fornisce le statistiche temporali sull'esecuzione del programma. Queste statistiche consistono nel (i) tempo reale trascorso tra chiamata e termine, (ii) tempo utente della CPU (la somma dei valori di tms_utime e tms_cutime in formato struct tms come restituito da times(2)), e (iii) tempo di sistema della CPU (la somma dei valori di tms_stime e tms_cstime in formato struct tms come restituito da times(2)).

Nota: alcune shell (per esempio bash(1)) hanno un comando time precompilato che fornisce infomazioni simili sull'utilizzazione del tempo e forse anche altre risorse. Per accedere al programma reale, potrebbe essere necessario specificarne il percorso (qualcosa come /usr/bin/time).

OPZIONI

-p  Quando si è in ambiente POSIX usare l'esatto formato tradizionale

        "real %f\nuser %f\nsys %f\n"

    (con numeri in secondi) dove il numero di decimali nell'output per %f non è specificato, ma è almeno uno, ed è sufficiente per esprimere l'accuratezza dell'orologio.

STATO DI USCITA
Se è stato invocato il comando lo stato di uscita è quello del comando. Altrimenti è 127 se comando non può essere trovato, 126 se può essere trovato ma non può essere chiamato, e qualche altro valore diverso da zero (1n]125) se qualcosa è andato storto.

AMBIENTE
Le variabili LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, LC_NUMERIC e NLSPATH sono usate per il testo e per la formattazione dell'output. PATH è usata per la ricerca del comando.

VERSIONE GNU
Di seguito una descrizione della versione GNU 1.7 di time. Indipendentemente dal nome dell'utilità, GNU emette molte informazioni utili, non solo sul tempo utilizzato, ma anche su altre risorse come memoria, I/O e chiamate IPC (ove disponibili). L'output è formattato usando un formato stringa che può essere specificato usando l'opzione -f o la variabile d'ambiente TIME.

Il formato stringa predefinito è:

    %Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k
    %Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps

Quando è indicata l'opzione -p, si usa il formato di output (portabile)

    real %e
    user %U
    sys %S

  Il formato stringa
The format is interpreted in the usual printf(3)-like way. Ordinary characters are directly copied, tab, newline, and backslash are escaped using \t, \n, and \\, a percent sign is represented by %%, and otherwise % indicates a conversion. The program time will always add a trailing newline itself. The conversions follow. All of those used by tcsh(1) are supported.

Tempo

%E  Tempo reale trascorso (in [ore:]minuti:secondi).

%e  (Non in tcsh(1).) Tempo reale trascorso (in secondi).

%S  Numero totale di secondi-CPU che il processo ha speso in kernel mode.

%U  Numero totale di secondi-CPU che il processo ha speso in user mode.

%P  Percentuale di CPU che questo lavoro ha preso, conteggiata come (%U + %S) / %E.

Memoria

%M  Massima dimensione dell'insieme residente del processo durante la sua esistenza, in chilobyte.

%t  (Non in tcsh(1).) Dimensione media dell'insieme residente del processo, in chilobyte.

%K  Media totale (data+stack+text) della memoria usata dal processo, in chilobytes.

%D  Dimensione media delle aree dati non condivise dei processi, in chilobyte.

%p  (Non in tcsh(1).) Dimensione media dello spazio stack non condiviso dei processi in chilobyte.

%X  Dimensione media dello spazio di testo condiviso dei processi, in chilobyte.

%Z  (Non in tcsh(1).) Dimensione della pagina di sistema, in byte. Questa è una costante di sistema, ma varia tra i sistemi.

%F  Numero di errori maggiori di pagina accaduti durante il funzionamento del processo. Sono errori in cui la pagina deve essere registrata dal disco.

%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.

%W  Numero di volte che il processo è stato spostato fuori dalla memoria principale.

%c  Numero di volte che il processo è stato scambiato involontariamente nel contesto (perché la porzione di tempo è scaduta).

%w  Numero di attese: volte che il programma è stato scambiato volontariamente nel contesto, per esempio mentre era in attesa del completamente di un'operazione di I/O.

I/O

%I  Numero di input del processo nel filesystem.

%O  Numero di output del processo nel filesystem.

%r  Numero di messaggi di socket ricevuti dal processo.

%s  Numero di messaggi di socket inviati dal processo.

%k  Numero di segnali recapitati al processo.

%C  (Non in tcsh(1).) Nome e argomenti da riga di comando del comando che è stato misurato.

%x  (Non in tcsh(1).) Stato di uscita del comando.

  Opzioni GNU

-f formato, --format=formato
    Specifica il formato di output, possibilmente sovrascrivendo il formato specificato nella variabile d'ambiente TIME.

-p, --portability
    Usa il formato di output portabile.

-o file, --output=file
    Non invia i risultati a stderr, ma sovrascrive il file specificato.

-a, --append
    (Usato assieme a -o.) Non sovrascrive ma aggiunge.

-v, --verbose
    Fornisce un output con molti dettagli su tutto ciò che il programma sa.

-q, --quiet
    Non riporta l'interruziona anomala del programma (dove comando è stato interrotto da un segnale) o da uno stato d'uscita diverso da zero.

  Opzioni GNU standard

--help
    Stampa un messaggio di uso sullo standard output ed esce con successo.

-V, --version
    Stampa informazioni sulla versione sullo standard output ed esce con successo.

--  Termina l'elenco delle opzioni.

BUG
Non tutte le risorse sono misurate da tutte le versioni di Unix, perciò alcuni valori potrebbero essere riportati come zeri. La presente selezione è stata ispirata per la maggior parte dai dati forniti dalle versioni 4.2 o 4.3 di BSD.

GNU time version 1.7 is not yet localized. Thus, it does not implement the POSIX requirements.

La variabile d'ambiente TIME è stata scelta malamente. Non è inusuale per sistemi come autoconf(1) o make(1) usare variabili d'ambiente con il nome di un'utilità per sovrascrivere l'utilità da usare. Usi come MORE o TIME per le opzioni di programmi (invece dei nomi di percorso del programma) tende a generare difficoltà.

Sembra sfortunato che -o sovrascriva invece di aggiungere. (Perciò l'opzione -a dovrebbe essere quella predefinita).

Inviare suggerimenti via posta e rapporti di errore per il comando GNU time a bug-time@gnu.org. Per favore includere la versione di time, che si può ottenere eseguendo

    time --version

e il sistema operativo e compilatore C usati.

VEDERE ANCHE
bash(1), tcsh(1), times(2), wait3(2)

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

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.