機械翻訳について

ftruncate

stdoutの出力ストリームを切り捨てます。

void ftruncate()

ftruncate関数は、stdoutの出力ストリームを切り捨てるデータ記録関数です。

例8-18 ftruncateを使用して、カウンタを使用してstdout出力ストリームを切り捨てる方法

tick-10ms
{
    printf("%d\n", i++);
}

tick-10ms
/i == 10/
{
    ftruncate();
}

tick-10ms
/i == 20/
{
    exit(0);
}

sudo dtrace -o /tmp/result -s /path/to/scriptを使用してスクリプト例を実行する場合。 標準出力は/tmp/resultに保存されます。 このプログラムは、10ミリ秒ごとにトリガーされるカウンタを実装していて、終了する前に最大20までカウントするように設計されています。 カウンタはカウントごとに標準出力に出力されますが、カウンタが10に達したときには、標準出力を切り捨てるためにftruncateがコールされます。 プログラムの終了時に、/tmp/resultの内容を確認すると、11番目のカウンタの前の標準出力が削除されていることがわかります。