TIME(1) | Linux User's Manual | TIME(1) |
time - コマンドの時間計測やリソース使用量を表示する
time [options] command [arguments...]
time コマンドは、指定されたプログラム command を渡された引数で実行する。 command が終了すると、 time はこのプログラムの実行時間の統計情報についてのメッセージを 標準エラー出力に出力する。 表示される統計情報は以下の三つから構成される: (i) 起動から終了までに経過した実時間 (real time)、 (ii) ユーザー CPU 時間 (times(2) が返す struct tms の tms_utime と tms_cutime の値の合計)、 (iii) システム CPU 時間 (times(2) が返す struct tms の tms_stime と tms_cstime の値の合計)。
Note: some shells (e.g., bash(1)) have a built-in time command that provides similar information on the usage of time and possibly other resources. To access the real command, you may need to specify its pathname (something like /usr/bin/time).
"real %f\nuser %f\nsys %f\n"
command が起動された場合は、 command の終了ステータスが終了ステータスとなる。 command が見つからなかった場合は終了ステータスは 127 で、 command が見つかったが起動できなかった場合は 126 となる。 これ以外で何かエラーがあった場合は、終了ステータスは 0 以外の前記以外の値 (1–125) の何かになる。
The variables LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, LC_NUMERIC, and NLSPATH are used for the text and formatting of the output. PATH is used to search for command. The remaining ones for the text and formatting of the output.
以下は GNU 1.7 バージョンの time の説明である。コマンド名とは裏腹に、GNU バージョンでは 有益な情報がたくさん出力される。使用時間だけでなく、 (取得できる場合には) メモリーや I/O、IPC 呼び出しなどの他のリソース に関する情報も出力される。 出力はフォーマット文字列を使って整形され、 フォーマット文字列は -f オプションか環境変数 TIME で指定できる。
デフォルトのフォーマット文字列は以下の通り。
%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k %Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps
-p オプションが指定された場合には、(他と互換性のある) 出力フォーマットが使用される:
real %e user %U sys %S
フォーマットはよくある printf 形式で解釈される。 通常の文字はそのままコピーされ、 タブ、改行 (newline)、バックスラッシュはそれぞれ \t, \n, \\ で エスケープされる。 パーセント記号は %% で表現され、それ以外の % は変換を示す。 末尾には必ず改行文字 (newline) が追加される。 変換は以下の通りである。 tcsh(1) で使用される変換は全てサポートされている。
Time
Memory
I/O
全てのリソースが UNIX の全てのバージョンで計測されているわけではないので、 いくつかの値が 0 と報告される可能性がある。 現在の出力項目のほとんどは 4.2BSD や 4.3BSD で取得可能なデータに 基づいて選択されている。
GNU time バージョン 1.7 はまだローカライズされていない。 そのため、POSIX の要件を実装していないことになる。
TIME という環境変数は名前の選択がまずい。 autoconf(1) や make(1) のようなシステムでは、使用するコマンドを上書きするのにそのコマンドの 名前の環境変数を使うのが珍しくない。 MORE や TIME のような名前を (プログラムのパス名の指定ではなく) プログラムへのオプションを指定するのに使うと、 面倒なことを引き起こす可能性が高い。
-o が追記ではなく上書きになっているのは残念なことだ (つまり -a オプションがデフォルトになっているべきだろうということだ)。
Mail suggestions and bug reports for GNU time to bug-time@gnu.org. Please include the version of time, which you can get by running
time --version
で取得できる。
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。
2019-03-06 |