Evite que o Ctrl-C desabilite a impressão de entrada

2

Em um de nossos servidores, sempre que eu mato um processo com Ctrl-C (por exemplo, para terminar um processo tail -f ), minha entrada para o bash não é mais impressa. Eu posso digitar cegamente reset , o que resolveu a situação, mas é muito inconveniente.

Eu gostaria que matar um processo com Ctrl-C não causasse esse problema. Você tem alguma sugestão?

EDIT: mais algumas informações, conforme solicitado

O servidor está executando o Suse enterprise, com o kernel 2.6.32. A versão bash que nós instalamos é

GNU bash, version 3.2.51(1)-release (x86_64-suse-linux-gnu)

Em relação à cauda, é

tail (GNU coreutils) 6.12

Meu emulador de terminal atual é konsole, mas o mesmo aconteceu com vários outros emuladores, incluindo o terminal e o terminador do GNOME.

    
por Spiros 24.03.2015 / 10:11

1 resposta

0

Normalmente, isso só acontece quando você mata um programa que alterou as configurações de TTY para desativar o eco. por exemplo. mplayer / mpv ou um editor de texto. E mesmo assim, a maioria dos programas bem comportados que modificam os sinais de captura TTY, e os colocam de volta em como eles os encontraram antes de sair de um SIGINT.

É completamente bizarro que você esteja vendo esse tipo de comportamento de tail . O que acontece se você digitar enquanto a cauda estiver em execução? Você deve ver echo, com a mesma edição de linha fornecida pelo kernel que você obtém com cat > /dev/null .

Talvez você tenha algo mais em segundo plano que esteja mexendo com o seu TTY? Execute tty para descobrir o que você está fazendo, então você pode stty -a < /dev/that_tty de outro shell para examinar o estado. (procure por echo , em vez de -echo ).

    
por 19.04.2015 / 16:11

Tags