0

这个程序似乎无法拦截SIGQUIT信号虽然它可以拦截SIGINT

void sig(int sig){
    printf("Got signal(%d)", sig);
}
int main(){
    signal(SIGQUIT, sig);
    char x[10];     fgets(x, 10, stdin);
}

我正在运行 ubuntu 20 并且运行stty -a命令给出了第一行输出,我猜这意味着 SIGQUIT 已正确映射到^D但按下它似乎什么也没做。我也尝试使用^\因为我在quit=^\sttyeof=^D说的那样感到困惑,所以如果有人可以解开两人之间的这个误会。

intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
4

0 回答 0