本流の処理とは別に定期的に割り込み処理をしたいとき、例えば、ログを読みつつ整形して表示しつつ、n秒間にm行以上流れたら通知をするとかです。 PerlだとAnyEventのようなイベントドリブンのフレームワークを使いたくなりますが、単純な定期割り込みなら setitimer(2) で実装できます。Perlだと、Time::HiRes qw(setitimer) です。 3秒間に20行以上入力行が来た場合になんかするのはこんな感じ: 補足 alarm(2) と sigitimer(2) の関係 setitimer(2) って linux だと alarm(2) と同じタイマーを共有してて たぶん setiimer(2) を発行したあと alarm(2) つかうと、setitimer(2) がクリアされるので ライブラリとかが中で alarm() つかってるケースについて注意する必要があるのかな