Chi*_*nke 11 python coredump ctrl backslash
当我在python应用程序(例如python shell)中时,按下Ctrl\结果
>>> Quit (core dumped)
Run Code Online (Sandbox Code Playgroud)
为什么这样,我怎么能避免这种情况?如果我Ctrl\偶然按下应用程序,那么非常不方便.
Rob*_*obᵩ 26
CTRL- \是生成QUIT信号的Linux密钥.通常,该信号会导致程序终止并转储核心.这是UNIX和Linux的一个特性,与Python完全无关.(例如,尝试sleep 30后跟CTRL- \.)
如果要禁用该功能,请使用stty命令.
在Linux命令行中,在Python启动之前:
stty quit undef
Run Code Online (Sandbox Code Playgroud)
python模块signal很方便处理这个问题.
import signal
# Intercept ctrl-c, ctrl-\ and ctrl-z
def signal_handler(signal, frame):
pass
signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGQUIT, signal_handler)
signal.signal(signal.SIGTSTP, signal_handler)
Run Code Online (Sandbox Code Playgroud)
只需将处理程序添加到(在这种情况下)什么都不做的信号中.
| 归档时间: |
|
| 查看次数: |
7867 次 |
| 最近记录: |