1
opensnoop
DTrace
は、どのファイルがプログラム/ pidによって開かれているかを表示できます。しかし、forked/vforkedの子どもたちによって開かれることはありません。関連するdtruss
にはこの機能があります。opensnoopのfollow childrenモード
opensnoop
にも子供をフォローするよう指示する方法はありますか?
opensnoop
DTrace
は、どのファイルがプログラム/ pidによって開かれているかを表示できます。しかし、forked/vforkedの子どもたちによって開かれることはありません。関連するdtruss
にはこの機能があります。opensnoopのfollow childrenモード
opensnoop
にも子供をフォローするよう指示する方法はありますか?
-p
オプションは、実際には、現在のプロセスIDを表す、pid
がbuilt in variable
で生成されたスクリプトにPID == pid
チェックを追加し、PID
は-p
オプション値です。そう単純opensnoopでそのチェック置き換える現在のプロセスは、プロセスの子(直接の必要はありませんが)であることを確認progenyof
と呼ばDTraceの中でアクションがあり
、:
--- /usr/dtrace/DTT/opensnoop Wed Jun 25 01:34:47 2014
+++ opensnoop Fri Jan 13 17:43:41 2017
@@ -199,7 +199,7 @@
/* check each filter */
(OPT_name == 1 && NAME == execname) ? self->ok = 1 : 1;
- (OPT_pid == 1 && PID == pid) ? self->ok = 1 : 1;
+ (OPT_pid == 1 && progenyof(PID)) ? self->ok = 1 : 1;
/* OPT_file is checked on return to ensure pathp is mapped */
}
おかげで、これは私のユースケースを解決します。 –