使用 sudo 運行時如何重定向 OS X dtruss 輸出?

使用 sudo 運行時如何重定向 OS X dtruss 輸出?

dtruss我正在Mac 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 上輸出所有內容。

相關內容