如何使用SIGINT捕捉kill信号(直接kill无法捕捉,但是可以捕捉kill -s 2 process的信号),执行用户希望的动作,可以创建如下:
void sig_handler_play(int signo)
{
if(signo == SIGINT)
{
//get kill signal (kill -s 2 process)
}
}
int main(){
if(signal(SIGINT, sig_handler_play) == SIG_ERR)
{
printf("aplay play can't catch SIGKILL\n");
}
return 0;
}