信号()システムコールを学習している間は、私は機能信号を(呼び出しています通常の関数呼び出しとsignal()システム呼び出しの違いは何ですか?
#include <stdio.h>
#include <signal.h>
void sigproc(int);
void quitproc(int);
int main(int argc,char **argv)
{
signal(SIGINT, sigproc); //Is it like a normal Call to signal()?
signal(SIGQUIT, quitproc);// This too?
printf("ctrl- c disabled use ctrl\ to quit \n");
while(1);
return 0;
}
void sigproc(int signo)
{
printf("you have pressed ctrl - c \n");
}
void quitproc(int signo)
{
printf("U cant quit\n");
// exit(0);
}
メインで2回)、次のコードに遭遇することになって()。しかし、Ctrl + CとCtrl + \キーを押しているときにのみ実行されます。私はそれも通常の関数呼び出しのように思った。シグナルハンドラ関数で実際に何が起こっていますか?