0

some へのポインターを使用して、タイマーsetitimerを設定するために関数を使用しています。これは仮想タイマー (プロセスが制御している場合にのみ実行される) であり、ゼロに達した瞬間にシグナルを送信します。私の質問は - を呼び出した後、アクティブなタイマーを無効にする方法はありますか?タイマーが終了してもこの信号は消えませんか? または、今それを無視する唯一の方法は、このシグナルを無視するようにプログラムに命令するSIGNAL MASKを設定することですか?ITIMER_VIRTUALstruct itimervalSIGVTALRMsetitimer

ありがとう!

4

2 に答える 2

0

タイマーを停止するには、 を呼び出しsettimerて設定it_valueします。0

于 2012-04-27T15:01:27.263 に答える
0

man ページによるsetitimer()と、同じタイマー ハンドルとit_valueitimerval 構造体のフィールドをゼロに設定して、もう一度呼び出すだけです。

すぐに無効にすることができます:

it_value を 0 に設定すると、it_interval の値に関係なく、タイマーが無効になります。

または、次に起動した後:

it_interval を 0 に設定すると、次の満了後にタイマーが無効になります (it_value がゼロでない場合)。

于 2012-04-27T15:05:35.863 に答える