我正在尝试编写一个 shell,而我正处于我想忽略的地步CtrlC。
我目前有我的程序忽略 SIGINT 并在信号到来时打印一个新行,但我怎样才能防止^C
被打印?
按下 时CtrlC,我得到的是:
myshell>^C
myshell>^C
myshell>^C
但我想要:
myshell>
myshell>
myshell>
这是我的相关代码CtrlC:
extern "C" void disp( int sig )
{
printf("\n");
}
main()
{
sigset( SIGINT, disp );
while(1)
{
Command::_currentCommand.prompt();
yyparse();
}
}