Como iniciar o comando linux em segundo plano e destacar o processo no terminal
- 2795
- 100
- Enrique Gutkowski PhD
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:
- Seu terminal de controle está preenchido com tantos dados de saída e mensagens de erro/diagnóstico.
- 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 $ empregosExecute 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 . & $ jobsInicie 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 . & $ jobsProcesso 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 $ jobsMantenha 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/* & $ JobsColoque 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.
- « Como instalar a lâmpada com Php 7 e Mariadb 10 no Ubuntu 16.10
- Instalação do Ubuntu 16.10 (Yakkety Yak) Desktop »