質問: sudoで実行しているときにosx dtruss出力をリダイレクトするにはどうすればよいですか? mac os x10.9でdtrussを実行しています。簡単な例は次のとおりです。sudo -c ls しかし、dtruss出力をファイルにキャプチャしたいと思います。私は次のようなことができることを示唆する何かを見ました:sudo bash -c 'dtruss -c ls >x' しかし、これを行うと、dtrussの出力は引き続きターミナルに送られ、lsからのファイルのリストがファイルにリダイレクトされます。dtrussの出力をファイルにリダイレクトするにはどうすればよいですか?
回答: 私はそれをこのように実行してきました:sudo dtruss -f -p 12345 2> /tmp/trace.txt -fは子プロセスに従うように言います。 -pは、トレースするプロセスidを指定します。 12345は、プロセスidのプレースホルダーです。 topまたはps -aを見るとわかります。 2>は標準エラーを出力ファイルにパイプします。何らかの理由で、dtrussはすべてをstderrに出力します。