当前位置: 技术问答>linux和unix
如何使用termios实现输入键ctl+c的屏蔽?在线等待,急。
来源: 互联网 发布时间:2015-11-21
本文导语: 新人,领导让改bug。看例子看不太明白,哪位高人帮帮我看看下面的代码什么意思,并告诉我如何实现屏蔽?谢谢了。 memset( &g_termios, 0, sizeof( struct termios ) ); tcgetattr( fileno( stdin ), &g_termios ); .... .... signal( SI...
新人,领导让改bug。看例子看不太明白,哪位高人帮帮我看看下面的代码什么意思,并告诉我如何实现屏蔽?谢谢了。
memset( &g_termios, 0, sizeof( struct termios ) );
tcgetattr( fileno( stdin ), &g_termios );
....
....
signal( SIGINT, nsh_sigint_handler );
// for ^Z
g_termios.c_cc[VSUSP] = 3;// Set ^Z to ^C
tcsetattr( fileno( stdin ), TCSANOW, &g_termios );
memset( &g_termios, 0, sizeof( struct termios ) );
tcgetattr( fileno( stdin ), &g_termios );
....
....
signal( SIGINT, nsh_sigint_handler );
// for ^Z
g_termios.c_cc[VSUSP] = 3;// Set ^Z to ^C
tcsetattr( fileno( stdin ), TCSANOW, &g_termios );
|
应该用SIG_IGN,不是SIG_DFL。那样就退出了。