Go to main content
マニュアルページ セク ション 1: ユー ザーコマンド

印刷ビューの終了

更新: 2016年12月6日
 
 

time(1)

名前

time - 単純コマンドの時間測定

形式

time [-p] utility [argument]...

説明

time ユーティリティーは utility オペランドで指定されたユーティリティーを argument とともに呼び出し、utility の時間統計情報をまとめて標準エラー出力に書き出します。この情報には以下のものが含まれます。

  • utility を呼び出してからその実行が終了するまでの経過 (実) 時間

  • ユーザー CPU 時間。これは utility を実行したプロセスに対して times(2) 関数が返す tms_utimetms_cutime の値の合計と同等の意味です。

  • システム CPU 時間。これは utility を実行したプロセスに対して times() 関数が返す tms_stimetms_cstime の値の合計と同等の意味です。

time をパイプラインの一部として使用した場合、 それがパイプライン内のグループ分けコマンド中の 唯一のコマンドである場合を除き、 報告される時間情報の内容は不確定です。以下の例を見てください。左側のコマンドの結果は不確定ですが、 右側のコマンドは、上の例ではユーティリティー a について、下の例ではユーティリティー c について報告されます。

time a | b | c		{ time a } | b | c
a | b | time c		a | b | (time c)

オプション

次のオプションがサポートされています。

–p

時間情報を以下の形式で標準エラー出力に書き出します。

real %f\nuser %f\nsys %f\n < real seconds>, <user seconds>,
<system seconds>

オペランド

次のオペランドがサポートされています。

utility

呼び出すユーティリティーの名前

argument

utility を呼び出す際に引数として与えるべき文字列

使用法

エラーが発生した場合は、「ユーティリティーの検出に失敗した」のか「呼び出されたユーティリティーがエラーを示して終了した」のかをアプリケーションが区別できるようにするため、time ユーティリティーは終了ステータス 127 を返します。値 127 が選ばれたのは、通常、ほかの意味で使用されることがないためです。ほとんどのユーティリティーは、小さい値を使って「一般的なエラー状態」を表し、128 より大きな値は、シグナル受信による終了の場合と区別が困難になりかねないためです。同じような観点から、ユーティリティーは見つかったが実行できなかった、という場合に使う値として 126 が選ばれています。

使用例 1 time コマンドの使用

time は、パイプラインまたは一連のコマンドに対して使用すると 便利なことがよくあります。まずパイプラインやコマンド群を 1 つのファイルに入れ、それをユーティリティーとして呼び出します。それにより time をファイル中のすべてに適用させることができます。

他の方法として、以下のような使い方でも time を複雑なコマンドに適用できます。

example% time sh -c 'complex-command-line'
使用例 2 C シェルに組み込まれている time の使用

次の 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 は以下のいずれかの値を返して終了します。

1-125

time ユーティリティーの中でエラーが発生しました。

126

utility は見つかったが呼び出すことができませんでした。

127

utility は見つかりませんでした。

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/core-os
インタフェースの安定性
確実
標準
standards(5) を参照してください。

関連項目

csh(1), shell_builtins(1), timex(1), times(2), attributes(5), environ(5), standards(5)

time コマンドをマルチプロセッサマシン上で実行した場合、出力された usersys の値の合計が real 値を超える場合があります。これは、マルチプロセッサ・マシンでは、 処理を複数のプロセッサに分けて実行することが可能なためです。

時間測定対象のコマンド処理中に割り込みが発生すると、 出力される時間の値に誤差が生じることがあります。

バグ

経過時間の精度は秒単位までですが、CPU 時間は 100 分の 1 秒まで計測されます。そのため CPU 時間の合計値は経過時間を最大 1 秒上回る可能性があります。