4
respostas

Dúvida terminal

Ubuntu 20.04.

Não está sendo possível terminar o processo ao pressionar CTRL+C. Em vez de encerrar o processo e me devolver o terminal apenas aparece ^C.

O CTRL+Z, para enviar ao segundo plano e terminar por comando também não funcionou. Como no exemplo anterior, apareceu ^Z no terminal e não retornou a interação.

Sabem como resolver a situação? Pode ser alguma questão de configuração?

Já encerrei o processo por outro terminal, repeti os procedimentos e o problema persiste.

Esse problema é mais em relação ao sistema do que ao Docker, pelo menos é o que imagino. A razão de perguntar por aqui foi ter surgido o problema durante a aula.

4 respostas

Olá. Andre. Tudo bem?

Pode me passar o comando que você executou que originou esse comportamento?

Claro!

Foi o primeiro comando da aula:

docker run dockersamples/static-site

Nos seguintes, com o detached (-d) não tive problemas, apenas na conexão que prendeu o terminal (sem o -d).

Oi, André.

Por padrão, o container não permite a interação com ele. Para que você possa mandar sinais (o caso do Ctrl +C) ou executar algum comando, você deve executar ele passando as opções:

  • -i : indica que você quer interatividade, ou seja, ele vai interpretar os comandos que você passar e dar uma resposta.
  • -t : indica que você quer uma instância de tty, um terminal para poder passar comandos.

Tenta executar docker run -ti dockersamples/static-site e veja se consegue interromper o container com Ctrl + C.

Então os comandos

CTRL+C -> não mata o processo;
CTRL+Z -> não coloca o processo em background.

Tinha entendido que esses comandos funcionariam com essas finalidades com qualquer processo. E pela aula, como se pode verificar, o instrutor fala do uso do CTRL+C para finalizar o processo justamente porque o terminal fica bloqueado. Foi na passagem que explicou como mataria o processo sem precisar abrir um novo terminal para isso.

Consigo acompanhar o curso, segui dessa forma que sugeriu mesmo, mas fiquei confuso com o funcionamento do comando CTRL+C que não pôde ser utilizado na forma como o instrutor explicou.