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)