progenyof
コール側プロセスが、指定したプロセスIDの子孫に当たるかどうかを確認します。
int progenyof(pid_t)
progenyof関数は、呼出し側プロセスが指定されたプロセスIDのprogenyに含まれる場合、ゼロ以外を返します。 コール元プロセスは、一致したプローブをトリガーするスレッドに関連付けられたプロセスです。
例8-35 progenyofを使用して、指定されたプロセスIDのすべての子プロセスに対する書込みシステム・コールをリストする句を制限する方法
syscall::write:entry
/progenyof($1)/
{
@[pid,execname,probefunc]=count()
}
このスクリプトは、アプリケーションの実行中のインスタンス(gnome-terminal-serverなど)によりトリガーされるすべてのシステム・コールを監視するために、次のように実行できます。
sudo dtrace -n 'syscall::write:entry /progenyof($1)/
{@[pid,execname,probefunc]=count()}' $(pidof gnome-terminal-server)