プロセストレースで使えるコマンド dtruss, filebyproc.d, fs_usage
新城@筑波大学情報です。こんちには。
MacPorts/NFS と戦っていて、ファイル関連のシステムコールをト
レースするのにこんなコマンド使いました。MacOSX 10.6 Snow
Leopard です。10.5 にもあるみたい。
(1) dtruss
このコマンドは、前から知ってはいましたが、-n オプション
(name)がかなり使えるというのを今日発見して少しうれしかったで
す。端末を2枚開いて、片方で dtruss を実行します。
------------------------------------------------------------
# dtruss -n tclsh8.5
------------------------------------------------------------
もう片方で、目的のコマンド、たとえば port を実行します。それ
で、dtruss は、コマンドの名前を見てそれだけをトレースします。
dtruss は、-f オプションで子供を追跡してくれることにはなって
いますが、なんかうまく動きませんでした。MacOSX 10.6 では。
-n が使えたので良かったです。
(2) filebyproc.d, opensnoop
使い方は簡単で、ただ root で実行します。それで、全プロセスの
の open 関連の活動が表示されます。止まらないので、最後 ^C で
止めます。mds など関係ないものも出てくるのが、難。
(3) fs_usage
こちらは、-e で不要なプログラムを避けられます。
------------------------------------------------------------
fs_usage -f filesys -e xterm -e luit -e kterm -e sshd -e \
mds -e bash -e portmap -e prl_disp_service -e tee -e launchd
------------------------------------------------------------
(4) その他
man -k dtrace するとけっこう出てきます。
root でないと使えないのが惜しい所。SunOS strace, Linux
strace くらいに気楽なものが欲しいんだけど。
\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報 \\
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735