名前 | 形式 | 機能説明 | オプション | オペランド | 使用法 | 使用例 | 環境 | 終了ステータス | 属性 | 関連項目 | 注意事項 | 使用上の留意点
time [-p] utility [argument]...
time ユーティリティは utility オペランドで指定されたユーティリティを argument とともに呼び出し、 utility の時間統計情報をまとめて標準エラー出力に書き出します。この情報には以下のものが含まれます。
utility を呼び出してからその実行が終了するまでの経過 ( 実 ) 時間
ユーザー CPU 時間。これは utility を実行したプロセスに対して times(2) 関数が返す tms_utime と tms_cutime の値の合計と同じ意味です。
システム CPU 時間。これは utility を実行したプロセスに対して times() 関数が返す tms_stime と tms_cstime の値の合計と同じ意味です。
time をパイプラインの一部として使用した場合、 それがパイプライン内のグループ分けコマンド中の 唯一のコマンドである場合を除き、 報告される時間情報の内容は予測できません。以下の例を見てください。左側のコマンドの結果は予測できませんが、 右側のコマンドは、上の例ではユーティリティ a について、下の例ではユーティリティ c について報告されます。
time a | b | c { time a } | b | c a | b | time c a | b | (time c)
次のオプションを指定できます。
時間情報を以下の形式で標準エラー出力に書き出します。
real %f\nuser %f\nsys %f\n < real seconds>, <user seconds>, <system seconds> |
time ユーティリティは、エラーが発生すると終了ステータス 127 を返します。これによりアプリケーションは、 「ユーティリティが見つからなかった」エラーと 「呼び出したユーティリティがエラーで終了した」状態とを 見分けることができます。127 という値を選んだのは、通常この値は他の意味で使われることがないためです。ほとんどのユーティリティは、 小さい値を使って「一般的なエラー状態」を表し、 128 より大きな値は、シグナル受信による終了の場合と 区別が困難になりかねないためです。同じような観点から、ユーティリティは見つかったが実行できなかった、 という場合に使う値として 126 が選ばれています。
time は、パイプラインまたは一連のコマンドに対して使用すると 便利なことがよくあります。まずパイプラインやコマンド群を 1 つのファイルに入れ、それをユーティリティとして呼び出します。それにより time をファイル中のすべてに適用させることができます。
他の方法として、以下のような使い方でも time を複雑なコマンドに適用できます。
example% time sh -c 'complex-command-line' |
以下の 2 つの例では、 csh に組み込まれている time と /usr/bin/time との違いを示しています。現在使用中のシェルが csh であるとします。
example% time find / -name csh.1 -print /usr/share/man/man1/csh.1 95.0u 692.0s 1:17:52 16% 0+0k 0+0io 0pf+0w |
time の出力形式に関する詳細は、csh(1) を参照してください。
example% /usr/bin/time find / -name csh.1 -print /usr/share/man/man1/csh.1 real 1:23:31.5 user 1:33.2 sys 11:28.2 |
time の実行に影響を与える次の環境変数についての詳細は、environ(5) を参照してください。LANG、LC_ALL、LC_CTYPE、LC_MESSAGES、LC_NUMERIC、NLSPATH、および PATH。
utility で指定したユーティリティが呼び出された場合、 そのユーティリティの終了ステータスが time の終了ステータスとなります。呼び出されなかった場合には、 time は以下のいずれかの値を返して終了します。
time ユーティリティの中でエラーが発生した。
utility は見つかったが呼び出すことができなかった。
utility は見つからなかった。
次の属性については attributes(5) のマニュアルページを参照してください。
属性タイプ |
属性値 |
---|---|
使用条件 |
SUNWcsu |
インタフェースの安定性 |
標準 |
time コマンドをマルチプロセッサ・マシン上で実行した場合、 出力された user と sys の値の合計が real 値を超える場合があります。これは、マルチプロセッサ・マシンでは、 処理を複数のプロセッサに分けて実行することが可能なためです。
時間測定対象のコマンド処理中に割り込みが発生すると、 出力される時間の値に誤差が生じることがあります。
経過時間の精度は秒単位までですが、 CPU 時間は 100 分の 1 秒まで計測されます。そのため CPU 時間の合計値は経過時間を最大 1 秒上回る可能性があります。
名前 | 形式 | 機能説明 | オプション | オペランド | 使用法 | 使用例 | 環境 | 終了ステータス | 属性 | 関連項目 | 注意事項 | 使用上の留意点