0

我被要求编写一个程序,该程序将忽略该SIGINT信号并打印一条消息,说它已被忽略。这是我在参考 and 的手册页后想到signalsigaction

    //set struct action to ignore signal
    struct sigaction action;    
    action.sa_handler=SIG_IGN;//handler set to ignore the signal
    action.sa_flags=0;
    //registeration 
    sigaction(SIGINT,&action,0);

但是我很困惑当信号被忽略时我将如何打印一条消息。另一种选择是定义我自己的信号处理函数,但这样就不会忽略它,对吗?

4

1 回答 1

1

如果这是一个家庭作业,我猜这个请求是捕捉信号并在你的信号处理程序中打印一条消息。SIGINT 的默认操作是终止进程,所以我猜测“忽略”意味着不退出......,而不是 SIG_IGN。

于 2013-10-24T12:52:24.257 回答