web-dev-qa-db-ja.com

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

Mac OS X10.9でdtrussを実行しています。簡単な例は次のとおりです。

Sudo -c ls

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

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

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

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

9
Chris Markle

私はそれをこのように実行してきました:

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