Mac OSでstraceコマンドに代わるコマンドたち
[2013/12/5 更新]
straceに代わるコマンドが発行するシステムコールを表示するコマンドとして
dtrussというコマンドがありました。- dtruss
- sc_usage
- fs_usage
詳細はmanコマンドで調べて欲しいですが、
sc_usageコマンドはシステムコールの統計情報を表示します。
fs_usageコマンドはファイルシステムに関するシステムコールを表示します。
sc_usageは統計情報なので、表示としてはtopコマンドのシステムコール版のようなイメージですね。 fs_usageは指定したプロセスがコールしているファイルシステム等に関するシステムコールがリアルタイムに 表示されるイメージです。私の場合、straceを使う場面は該当プロセスがどのファイルにアクセスしているとか、 どの通信をしているのかが知りたい時なので、そういう意味でstraceに近いのはfs_usageの方かもしれません。
sc_usage 使用例
以下はTerminalのシステムコール統計を表示します。引数にプロセス名を指定します。また、管理者権限で実行する必要があるので、sudoコマンドで実行する必要があります。
MacBook-Pro:~ naoyuki$ sudo sc_usage Terminal
fc_usage 使用例
使い方はsc_usageと同じです。プロセス名を引数に指定します。
MacBook-Pro:~ naoyuki$ sudo fs_usage Terminal
その他コマンド
私がLinuxを使用している時に該当プロセスが使用しているファイルを調べるコマンドにlsofというコマンドがあるのですが、これはMacに標準で存在しました。
% lsof -p [pid]
のように使用します。このコマンドは管理者権限の必要は無いようなので、sudoの指定は必要無いです。
dtruss というコマンドがあるそうです。
返信削除おぉ!ご指摘有難うございます。
削除確かに、コマンドありました。