Linux下C实现心跳包

直接看代码

#include
#include

typedef void (*signal_handler)(int); //定义函数指针

void heart_handler_fun(int signal_num)
{
    alarm(30);//睡眠30S
    printf("catch signal %d\n", signal_num);
}

int main()
{
    printf("start signal\n");
    signal_handler p_signal = heart_handler_fun;
    signal(SIGALRM, p_signal);
    alarm(30);//睡眠30S,触发signal SIGALRM
    while(1);//一定要循环,要不然主线程退出,整个程序就退出了
    return 0;
}

你可能感兴趣的:(Linux编程)