哪位能帮忙讲解一下 CENTOS 中 signal 的工作原理
哪位能帮忙讲解一下 CENTOS 中 signal 的工作原理,并讲解一下以下代码的作用。谢谢大家。
static void signal_handler(int signum)
{
switch ( signum )
{
case SIGINT:
case SIGTERM:
if ( !quitting ) quitting = 1;
break;
case SIGHUP:
break;
case SIGQUIT:
if ( !quitting ) quitting = 1;
break;
case SIGPIPE:
break;
}
}
static void setup_signal_handlers(void)
{
struct sigaction act;
act.sa_handler = signal_handler;
sigemptyset(&act.sa_mask);
act.sa_flags = 0;
sigaction(SIGINT, &act, NULL);
sigaction(SIGTERM, &act, NULL);
sigaction(SIGQUIT, &act, NULL);
sigaction(SIGHUP, &act, NULL);
sigaction(SIGPIPE, &act, NULL);
sigaction(SIGUSR1, &act, NULL);
sigaction(SIGUSR2, &act, NULL);
}