Você está vendo o efeito de um aplicativo que está bloqueado porque não pode ecoar os dados que você está tentando enviar para ele.
Por que o terminal não pode enviar dados depois que ^S
foi pressionado?
Sempre achei que ^S
é usado pelo terminal para informar ao driver que o driver não deve transmitir dados do terminal do aplicativo TO (quando estiver ocupado processando a exibição, por exemplo). Mas acontece que ^S
informa ao driver que o terminal de saída FROM não deve ser transmitido para o aplicativo. Isso é uma surpresa. Por que isso é necessário?
Isso foi descoberto com o seguinte teste:
Abra xterm
ou gnome-terminal
, digite date
, depois ^S
, depois ^M
(aka enter), espere um pouco e, em seguida, ^Q
. O resultado é que a data atual é mostrada, não data de um pouco atrás.