sigaction

sigaction構造体をあらかじめmemset()で0クリアしてから、sa_handlerにシグナルハンドラの関数名を代入します。

#include 

#include 
#include 
#include 

static void
func_int()
{
    write(2, "SIGINT\n", 7);
}

int main()
{
    struct sigaction act;
    
    memset(&act, 0, sizeof act);
    act.sa_handler = func_int;
    if (sigaction(SIGINT,&act, NULL) < 0){
        perror("sigaction");
        return 1;
    }
    sleep(60);
    return 0;
}