ユーザーコマンド time(1)
【名前】
time - 単純コマンドの時間測定
【形式】
time [-p] utility [ argument. ..]
【機能説明】
time ユーティリティは utility オペランドで指定されたユーティ
リティを argument とともに呼び出し、utility の時間統計情報を
まとめて標準エラー出力に書き出します。この情報には以下のもの
が含まれます。
o utility を呼び出してからその実行が終了するまでの経過 (
実 ) 時間
o ユーザーCPU 時間。これは utility を実行したプロセスに対
して times(2) 関数が返す tms_utime と tms_cutime の値の
合計と同じ意味です。
o システム 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)
【オプション】
以下のオプションを指定できます。
-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 を複雑なコマンド
に適用できます。
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
SunOS 5.10 1998年8月17日 2
ユーザーコマンド time(1)
user 1:33.2
sys 11:28.2
【環境】
time の実行に影響を与える環境変 数 LC_CTYPE、 LC_MESSAGES、
LC_NUMERIC、 NLSPATH、PATH についての詳細は、environ(5) を参
照してください。
【終了ステータス】
utility で指定したユーティリティが呼び出された場合、そのユー
ティ リ ティの終了ステータスが time の終了ステータスとなりま
す。呼び出されなかった場合には、time は以下のいずれかの値 を
返して終了します。
1-125 time ユーティリティの中でエラーが発生した
126 utility は見つかったが呼び出すことがで き な
かった
127 utility が見つからなかった。
【属性】
次の属性については attributes(5) のマニュアルページを参照 し
てください。
____________________________________________________________
| 属性タイプ | 属性値 |
|_____________________________|_____________________________|
| 使用条件 | SUNWcsu |
|_____________________________|_____________________________|
【関連項目】
csh(1), shell_builtins(1), timex(1), times(2), attri-
butes(5), environ(5)
【注意事項】
time コマンドをマルチプロセッサ・マシン上で実行した場合、 出
力 された user と sys の値の合計が real 値を超える場合があり
ます。これは、マルチプロセッサ・マシンでは、処理を複数のプロ
セッサに分けて実行することが可能なためです。
時間測定対象のコマンド処理中に割り込みが発生すると、出力され
る時間の値に誤差が生じることがあります。
【使用上の留意点】
経過時間の精度は秒単位までですが、CPU 時間は 100 分の 1 秒ま
で 計測されます。そのため CPU 時間の合計値は経過時間を最大 1
秒上回る可能性があります。
|
|