(16.04) Como “desanexar” programas do terminal? [duplicado]

1

Não sei ao certo como ou por que isso acontece, mas às vezes, quando abro programas através de terminais, o terminal continua a se conectar ao programa. Eu posso entender isso para coisas como "sudo nautilus", mas para programas regulares isso é extremamente irritante.

Eu não consigo desanexar o terminal do programa porque se eu ctrl + c então ele fecha o programa e se eu sair do terminal o programa também fecha.

Poucas perguntas:

  • Por que isso acontece?
  • Como eu manualmente ativo / desativo esta função?
  • Como desanexar o terminal do programa?

Se eu estou pedindo demais, então eu entendo. Nesse caso, eu nem sei como pesquisar a resposta do Google, então se você puder me indicar algum recurso que fale sobre isso ou me fornecer o nome da função que está acontecendo, isso seria ótimo.

Obrigado.

    
por Peter Kim 25.02.2017 / 23:57

2 respostas

1

É melhor você se preparar para isso antes do início do programa.

Existem várias opções que você pode usar ao iniciá-lo. Você pode iniciá-lo usando a opção nohup , enquanto ele continuará sendo executado se você enviá-lo para o plano de fundo e fechar o terminal.

Existe a opção Screen . Tela é uma aplicação. Não está instalado por padrão. Você pode instalá-lo com:

$ sudo apt install screen

Você pode então iniciar uma sessão de tela executando screen no terminal.

$ screen

Enquanto na tela você pode abrir a tela de ajuda pressionando o atalho do teclado: Ctl + A e depois ? . O Ctl + A coloca a tela no modo de escuta para o comando a ser seguido.

As aplicações iniciadas em um terminal de tela continuarão a ser executadas quando você fechar o terminal. Você pode se conectar ao terminal de tela em um login diferente ... mesmo de um computador diferente e continuar com o aplicativo.

A tela tem a funcionalidade detatch e reconnect que você descreve em sua pergunta.

Notas:

Para desanexar uma tela de execução do terminal, basta fechá-la. Para anexar um terminal a uma tela anterior, use estas etapas:

  • Encontre a tela à qual você deseja anexar:
$ screen -list
  • Use uma das opções de anexação para anexar a uma da lista:
$ screen -D -r [desired detached screen]
    
por L. D. James 26.02.2017 / 00:17
0

Para explicar em palavras simples, quando você executa um script ou aplicativo a partir do terminal, geralmente você precisa obter algumas informações sobre o que está fazendo. Durante esse processo, você não poderá executar nenhum outro comando. Este é o processo de primeiro plano. Mas há casos em que você só quer rodar o aplicativo e ele funciona atrás da cena, que é chamada de processo em segundo plano.

Para iniciar um aplicativo e enviá-lo para o plano de fundo, basta adicionar & amp; no final do seu comando.

Mas se o seu aplicativo já estiver rodando, você pode enviá-lo para o fundo usando Ctrl + Z . Nesse caso, você pode usar o comando fg para levar o processo de volta ao primeiro plano.

    
por Mostafa Ahangarha 26.02.2017 / 00:10