SIGVTALRM
によって送信されたをキャッチしようとしsetitimer
ていますが、なぜ機能しないのかわかりません。ここに私のコードがあります:
void time(int time) {
cout << "time" << endl;
exit(0);
}
int main(void) {
signal(SIGVTALRM, time);
itimerval tv;
tv.it_value.tv_sec = 5;
tv.it_value.tv_usec = 0;
tv.it_interval.tv_sec = 5;
tv.it_interval.tv_usec = 0;
setitimer(ITIMER_VIRTUAL, &tv, NULL);
while (true) {
cout << "waiting" << endl;
}
return 0;
}
なんらかの理由で呼び出さtime()
れません-シグナルをキャッチしないためか、最初にシグナルが送信されなかったためか、わかりません。
それはかなり単純なはずです。何か案は?ありがとう