编程语言
首页 > 编程语言> > python-如何禁用控制字符的外壳程序拦截?

python-如何禁用控制字符的外壳程序拦截?

作者:互联网

我正在UNIX下用Python编写curses应用程序.我想让用户使用C-Y从Emacs的杀戮圈中拉出来.

麻烦当然是C-Y被我的shell捕获,然后将SIGTSTP发送到我的进程.此外,C-Z还会导致发送SIGTSTP,因此捕获信号意味着C-Y和C-Z是无法区分的(尽管没有这个,我能想到的唯一解决方案也非常笨拙).

我知道我要问的是可能的(如果不是在Python中,则在C中),因为Emacs做到了.如何禁用Shell对从键盘发送的某些控制字符的特殊处理,并使有问题的字符出现在进程的stdin中?

解决方法:

请参见termios模块和termios(3)手册页.

标签:curses,unix,python,signals
来源: https://codeday.me/bug/20191210/2100998.html