Como multitarefa no terminal Linux 3 maneiras de usar vários shells ao mesmo tempo
O terminal Linux possui recursos ricos em multitarefa. Você pode alternar entre os consoles virtuais já em execução em seu sistema, usar o controle de tarefas Bash para executar processos em segundo plano e aproveitar a tela GNU, um “gerenciador de janelas” de terminal.
Você não precisa se ater a um único comando de cada vez. Se você deseja executar um processo em segundo plano e revisitá-lo ocasionalmente ou executar várias tarefas demoradas de uma só vez, o Linux oferece várias opções.
Consoles Virtuais
Por padrão, a maioria dos sistemas Linux possui vários consoles virtuais em execução em segundo plano. Alterne entre eles pressionando Ctrl-Alt e apertar uma chave entre F1 e F6. Ctrl-Alt-F7 normalmente irá levá-lo de volta ao servidor gráfico X.
Pressionar a combinação de teclas levará você a um prompt de login. Você pode fazer login e executar um comando e, em seguida, desligar - o comando continuará sendo executado em segundo plano, para que você possa ter várias sessões de terminal diferentes ao mesmo tempo.
O texto "tty1" aqui indica que este é o terminal localizado em Ctrl-Alt-F1, tty2 seria em F2.
Estas são apenas as configurações mais comuns - diferentes distribuições Linux podem ter menos consoles virtuais em execução e ter o servidor X localizado em um local diferente.
Bash Job Control
O shell Bash fornece seus próprios recursos para manipular vários processos. O controle de trabalho permite executar processos e anexar e desconectar-se deles. Um processo anexado é conhecido como um processo em primeiro plano, enquanto um processo destacado é conhecido como um processo em segundo plano.
Para iniciar um processo em segundo plano, adicione o E personagem após o seu comando. Por exemplo, para abrir o editor de texto Nano como um trabalho em segundo plano, digite o seguinte comando:
nano e
O [1] indica que o ID do trabalho do nosso novo trabalho é 1. O 3751 é seu ID do processo.
Todo trabalho que começamos recebe seu próprio ID de trabalho. Execute o empregos comando para visualizar a lista de trabalhos em execução no momento. O sinal + indica o trabalho que foi associado pela última vez ao shell, enquanto o sinal - indica o trabalho que foi o penúltimo a ser associado ao shell.
o fg comando permite que você traga um trabalho em segundo plano para o primeiro plano, anexando-o ao shell atual. Executar fg ou outro comando relacionado ao trabalho sem especificar um trabalho usará o último trabalho associado - aquele com um sinal + na lista de trabalhos. Você também pode especificar um número de trabalho. Por exemplo, o seguinte comando trará o job 1 de volta ao primeiro plano:
fg% 1
Finalize um processo normalmente e ele desaparecerá da lista de tarefas em execução. Se você quiser desanexar um trabalho do shell atual, use o ^ Z - isso é, Ctrl-Z - atalho de teclado.
Tela GNU
O GNU Screen é um “gerenciador de janelas em tela cheia” que permite usar vários shells em um único terminal. Pode não ser instalado por padrão - não está no Ubuntu. No Ubuntu ou Debian, use o seguinte comando para instalar o Screen:
tela sudo apt-get install
Uma vez instalado, execute o tela comando e você verá algumas informações sobre tela.
Pressione espaço ou Enter e você verá um terminal de aparência normal.
Pode não parecer especial, mas este shell está sendo executado no GNU Screen. pressione Ctrl-a e depois d para separar da tela. Você estará de volta ao terminal normal.
Para recolocar a tela, execute o tela -r comando. Você estará de volta ao mesmo terminal de antes.
Há muito mais que você pode fazer com a tela. Por exemplo, crie uma nova “janela” (terminal) na tela pressionando Ctrl-a, então c. Depois de ter várias janelas, pressione Ctrl-a duas vezes para alternar entre eles. Você também pode pressionar Ctrl-a, então " para ver uma lista de janelas.
Selecione uma janela na lista e pressione Enter para alternar para ela.
Nós já escrevemos sobre o uso do GNU Screen e usamos o Byobu, que aprimora o GNU Screen..