#include <iostream>
#include <unistd.h>
#include <stdio.h>
#include <signal.h>
using namespace std;
int count = 0;
void alarm2(int signo)
{
cout << count;
}
void alarm1(int signo)
{
signal(SIGALRM, alarm2);
cout << "ctrl+C";
alarm(10);
sleep(10);
}
int main()
{
signal(SIGALRM, alarm1);
alarm(3);
sleep(5);
}
我希望在 3 秒后收到消息“ctrl+C”,然后将另一个警报设置为 10 秒;之后我应该得到count
. 但是当我在 10 秒后运行时,我得到“ctrl+C”和count
.