SIGALRMとSIGVTALRMの違いは何ですか?

SIGALRMとSIGVTALRMの違いは何ですか?

どちらも経過時間に基づいて信号を送信するために使用されることを理解しています。しかし、違いは何ですか?

私の場合は、特定のスレッド時間に対してこれらの信号をエクスポートしたいと思います。プロセスが一時停止または存在しない場合は、タイムカウンタが一時停止されます(たとえば、終了してからcryuを介して再開されると発生する可能性があります)。

ベストアンサー1

ウィキペディアによるとhttps://en.wikipedia.org/wiki/Signal_(IPC)SIGVTALRM は次回以降に送信されます。CPU時間プロセス時間(つまり、「作業時間」)が経過しました。代わりに、SIGALRMはストップウォッチで測定されたリアルタイム時間を計算します。

SIGALRM、SIGVTALRM、およびSIGPROF信号は、アラーム設定関数(setitimerなど)への以前の呼び出しで指定されたタイムアウトが経過するとプロセスに送信されます。 SIGALRMは、リアルタイムまたはクロック時間が経過すると送信されます。 SIGVTALRM は、プロセスで使用される CPU 時間がなくなると送信されます。 SIGPROF は、プロセスとプロセスの代わりにシステムが使用する CPU 時間がなくなると送信されます。

おすすめ記事