Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Usando o editor nano e o comando &

Ola pessoal,

Eu não consegui instalar Ubuntu para desktop na minha máquina, então usei uma versão Ubuntu Server 18.04 LTS (HVM) no EC2 da AWS acessando via Terminal de um MAC e o editor nano (nativo dessa instância) como nas instruções desse tópico: https://cursos.alura.com.br/forum/topico-usando-maquina-no-ec2-141426

Neste curso, o professor usa o editor gedit e a opção & para deixar o terminal em segundo plano enquanto abre um editor na frente.

No meu caso, usando o terminal do MAC, na primeira vez quando digito o comando para abrir o arquivo no editor nano e uso &, o terminal mostra a mensagem [1] 2203 e a cada nova vez que eu repito o comando, esse número vai incrementado de 1 ([2] 2204, [3] 2205, [4] 2206...) seguido de [1]+ Sttoped, [2]+ Stopped, [3]+ Stooped sucessivamente, mas sem mostrar o editor em si na frente do terminal.

O que isso quer dizer? O editor está aberto em algum lugar nesse momento? Sabem dizer se existe uma maneira parecida com o que o professor fez na aula para fazer usando essa máquina EC2 como estou usando (abrir uma janela na frente enquanto o terminal fica em segundo plano)?

PS. Sem o &, o editor ocupa a tela do terminal e funciona normalmente.

Valeu desde já.

1 resposta
solução!

Olá, Leandro. Beleza?

Esse & no fim do comando indica que queremos que ele seja executado em background, em segundo plano. Esses comandos que foram iniciados com o & são chamados jobs, ou tarefas. A sua execução não irá travar o terminal caso ele seja do tipo que mostra continuamente uma saída no terminal, como o gedit e outras aplicações com interface gráfica executados pelo terminal.

O número mostrado entre colchetes, no caso que você mandou [2] 2204, é o número de identificação do job, da tarefa, e o sgundo número é o identificador do processo.

Se você executar o comando jobs após executar um comando com &, ele vai mostrar uma lista com os programas sendo executados dessa forma, listando esses números que incrementam de um em um, além do comando correspondente.

Digamos que você execute o comando sleep 30 que vai fazer o bash "dormir" por 30 segundos e depois voltar ao normal. Você pode pausar a execução dele pressionando CTRL + Z, retornando, por exemplo:

[2]+  Stopped                 sleep 30

Você pode fazer ele continuar a execução em background usando bg 2, fazendo a contagem continuar. Executando jobs o retorno seria:

[2]   Running                 sleep 30 &

Executando fg 2, você traz ele de volta para primeiro plano, continuando a contagem se ainda houver tempo.

Então, no caso do nano, ele está sendo executado e, se você usar o fg com o número do seu job, a interface dele será mostrada como normalmente acontece.

Espero ter ajudado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software