截图
代码
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
#include <string.h>
#include <assert.h>
#include <stdlib.h>
#include <time.h>
//using namespace std;
int i;
void close_sig_handler(int sig){
int n = 0;
srand((unsigned int)time(NULL));
int A[10] = {-1};
int Temp = -1;
while (n<10)
{
Temp= rand()%100;
if(Temp%2 == 1)
{
A[n] = Temp;
}
else
{
A[n] = Temp +1;
}
n++;
}
for(int i=0;i<10;i++)
{
printf("%d ",A[i]);
}
printf("\n");
exit(0);
}
void quit_sig_handler(int sig)
{
int n = 0;
srand((unsigned int)time(NULL));
int A[10] = {-1};
int Temp = -1;
while (n<10)
{
Temp= rand()%100;
if(Temp%2 == 0)
{
A[n] = Temp;
}
else
{
A[n] = Temp +1;
}
n++;
}
for(int i=0;i<10;i++)
{
printf("%d ",A[i]);
}
printf("\n");
exit(0);
}
int main()
{
struct sigaction sa;
sa.sa_handler = close_sig_handler;
struct sigaction sb;
sb.sa_handler = quit_sig_handler;
assert(sigaction(SIGINT,&sa,NULL)!=-1);//捕获到信号sig,使用sa中规定的方法处理
assert(sigaction(SIGQUIT,&sb,NULL)!=-1);
i=0;
while(1){
//sleep(1);
}
i++;
}