progenyof

コール側プロセスが、指定したプロセスIDの子孫に当たるかどうかを確認します。

int progenyof(pid_t)

progenyof関数は、コール元のプロセスが指定されたプロセスIDの子孫である場合、ゼロ以外を返します。コール元プロセスは、一致したプローブをトリガーするスレッドに関連付けられたプロセスです。

例7-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)