Como iniciar o comando linux em segundo plano e destacar o processo no terminal

Como iniciar o comando linux em segundo plano e destacar o processo no terminal

Neste guia, traremos à luz um conceito simples, porém importante, no manuseio de processos em um sistema Linux, ou seja, como destacar completamente um processo de seu terminal de controle.

Quando um processo está associado a um terminal, dois problemas podem ocorrer:

  1. Seu terminal de controle está preenchido com tantos dados de saída e mensagens de erro/diagnóstico.
  2. No caso de o terminal estar fechado, o processo junto com seus processos infantis será encerrado.

Para lidar com esses dois problemas, você precisa destacar totalmente um processo de um terminal de controle. Antes de realmente mudarmos para resolver o problema, abordemos brevemente como executar processos em segundo plano.

Como iniciar um processo ou comando linux em segundo plano

Se um processo já estiver em execução, como o exemplo do comando TAR abaixo, basta pressionar Ctrl+z Para parar, entre no comando bg para continuar com sua execução em segundo plano como um trabalho.

Você pode ver todos os seus trabalhos de fundo digitando empregos. No entanto, é stdin, stdout, stderr ainda estão unidos ao terminal.

$ tar -czf home.alcatrão.gz . $ bg $ empregos 
Execute o comando linux em segundo plano

Você também pode executar um processo diretamente do plano de fundo usando o AMPERSAND, & sinal.

$ tar -czf home.alcatrão.gz . & $ jobs 
Inicie o processo Linux em segundo plano

Dê uma olhada no exemplo abaixo, embora o comando TAR tenha sido iniciado como um trabalho em segundo plano, uma mensagem de erro ainda foi enviada ao terminal, o que significa que o processo ainda está conectado ao terminal de controle.

$ tar -czf home.alcatrão.gz . & $ jobs 
Processo Linux em execução em mensagem de fundo

Mantenha os processos Linux em execução após a saída do terminal

Nós vamos usar Denem Comando, ele é usado após o lançamento do processo A e colocado em segundo plano, seu trabalho é remover um trabalho de concha dos trabalhos de lista ativa da Shell; portanto, você não usará FG, bg comandos nesse trabalho em particular.

Além disso, quando você fecha o terminal de controle, o trabalho não pendura ou envia um Sighup Para qualquer emprego infantil.

Leia sugerida: 5 maneiras de manter as sessões e processos SSH remotos em execução

Vamos dar uma olhada no exemplo abaixo de usar Diswon Função interna de bash.

$ sudo rsync modelos/*/var/www/html/files/& $ jobs $ down -h %1 $ jobs 
Mantenha o processo Linux em execução após o fechamento do terminal

Você também pode usar nohup Comando, que também permite que um processo continue em execução em segundo plano quando um usuário sai de um shell.

$ nohup tar -czf iso.alcatrão.Modelos GZ/* & $ Jobs 
Coloque o processo Linux em segundo plano após o fechamento da concha

Desaparecer um Linux Processos do Terminal Controlando

Portanto, para destacar completamente um processo de um terminal de controle, use o formato de comando abaixo, isso é mais eficaz para a interface gráfica do usuário (GUI) Aplicações como Firefox:

$ firefox /dev /null & 

Em Linux, /dev/null é um arquivo de dispositivo especial que grava (se livra) todos os dados escritos para ele, no comando acima, a entrada é lida e a saída é enviada para /dev/null.

Leia sugerida: 10 exemplos de comando de tela para destacar as sessões do terminal

Como observação final, desde que um processo esteja conectado a um terminal de controle, como usuário, você verá várias linhas de saída dos dados do processo, bem como mensagens de erro no seu terminal. Novamente, quando você fecha o terminal de controle A, seu processo e processos infantis serão encerrados.

É importante ressaltar que, para quaisquer perguntas ou comentários sobre o assunto, chegue -nos usando o formulário de comentário abaixo.