sudo で実行しているときに OS X dtruss 出力をリダイレクトするにはどうすればよいですか?

sudo で実行しているときに OS X dtruss 出力をリダイレクトするにはどうすればよいですか?

私はdtrussMac OS X 10.9 で実行しています。簡単な例は次のとおりです。

sudo -c ls

しかし、出力をファイルにキャプチャしたいのですdtruss。次のようなことができると示唆するものを見ました:

sudo bash -c 'dtruss -c ls >x'

しかし、これを実行すると、 の出力はdtruss引き続きターミナルに送信され、 からのファイルのリストはlsファイルにリダイレクトされます。

出力をdtrussファイルにリダイレクトするにはどうすればよいですか?

答え1

私はこれを次のように実行しています:

sudo dtruss -f -p 12345 2> /tmp/trace.txt
  • -f子プロセスに従うように指示します。
  • -pトレースするプロセス ID を指定します。
  • 12345はプロセス ID のプレースホルダーです。topまたはを調べることで取得できますps -A
  • 2>標準エラーを出力ファイルにパイプします。何らかの理由で、dtruss はすべてを stderr に出力します。

関連情報