exit

すべてのトレースを停止し、終了値を返して終了します。

void exit(int status)

exit関数は、トレースをただちに停止し、DTraceに次の処理を行うように通知するために使用されます: トレースを停止し、最終処理を実行して、指定したstatus値を使用してexit()をコールします。exitはステータスをユーザー・レベルに戻すため、データ記録関数とみなされます。ただし、他のデータ記録関数とは異なり、exitは投機的にトレースできません。exitはデータ記録関数のため、欠落することがあります。

exitをコールすると、他のCPU上ですでに実行中のDTrace関数のみが最後まで実行されます。どのCPUでも、新たに関数は実行されません。このルールの唯一の例外はENDプローブの処理です。これはDTraceがexit関数を処理した後でコールされ、トレースを終了する必要があることを示します。

例7-16 exitを使用してすべてのトレースを終了し、終了値で終了する方法

BEGIN
{
  trace("hello, world");
  exit(0);
}