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.