system
指定したプログラムをシェル内であるかのようにシステムで実行します。
void system(const char command)
system
関数は、指定されたプログラムを、まるで入力としてシェルに提供されたかのように実行する、破壊的な関数です。program文字列には、printf
またはprinta
のフォーマット変換を含めることができます。そのフォーマット変換に合った引数を指定する必要があります。
system
関数に指定されたコマンドは、起動プローブのコンテキストでは実行されません。実行されるのは、system
関数の詳細を含むバッファがユーザー・レベルで処理される場合です。
例7-57 systemを使用して毎秒後にsystem dateコマンドを実行する方法
プラグマ行には、この例でDTraceが破壊的な関数を実行することを許可する、破壊的なオプションが含まれています。
#pragma D option destructive
#pragma D option quiet
tick-1sec
{
system("date")
}