TRUSS(1)

名称
truss - システムコールをトレースする

書式
truss [-faedDS] [-o file] -p pid truss [-faedDS] [-o file] command [args]

解説
truss ユーティリティは、指定したプロセスやプログラムが呼び出すシステムコールを トレースします。出力は指定した出力ファイルか、デフォルトでは 標準エラー出力へ送られます。処理は procfs(5) でプロセスを監視し、それを停止させたり再開させて行なわれます。

オプションは以下のとおりです :

-f  元々のトレース対象プロセスが fork(2), vfork(2) 等で作成した子孫プロセスを トレースします。

-a  各 execve(2) システムコールで渡された引数文字列を表示します。

-e  各 execve(2) システムコールで渡された環境文字列を表示します。

-d  出力中に、トレース開始からの経過時間を示す、 タイムスタンプを含めます。

-D  出力中に、最後に記録されたイベントからの経過時間を示す、 タイムスタンプを含めます。

-S  プロセスが受信するシグナルについての情報は表示しません。 (通常、 truss はシステムコールイベントと同様、シグナル情報も表示します。)

-o file
    出力を標準エラー出力ではなく、指定したファイル file へ送ります。

-p pid
    新しくコマンドを起動するのではなく、指定したプロセス ID pid のプロセスを追います。

command [args]
    コマンド command を実行し、そのシステムコールをトレースします。 (オプション -p と command は互いに排他的にしか使用できません。)

使用例
# "hello" を echo する際に使われるシステムコールを追います
    $ truss /bin/echo hello
# 同じことをしますが、出力をファイルに書き込みます
    $ truss -o /tmp/truss.out /bin/echo hello
# すでに動作しているプロセスを追います
    $ truss -p 1

関連項目
kdump(1), ktrace(1), procfs(5)

歴史
truss コマンドは Sean Eric Fagan が FreeBSD 用に作成しました。 System V Release 4 や SunOS で利用可能な 類似のコマンドをモデルにしました。