sleep函数与pause函数差不多, 在新信号到来时都会被中断, 唯一的差别在于sleep在睡眠了指定时间后也会被唤醒。
/*
============================================================================
Name : linux_c.c
Author : vince
Version :
Copyright : Your copyright notice
Description : Hello World in C, Ansi-style
============================================================================
*/
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/wait.h>
void handle() {
printf("alarm \n");
}
int main(void) {
int time;
signal(SIGALRM, handle);
alarm(2);
time = sleep(100);
printf("sleep wake up, remain seconds:%d\n", time);
return 0;
}
/** 输出:
*
alarm
sleep wake up, remain seconds:98
*/