tipicamente, quando executar um comando no terminal, terá de esperar até que o comando termine antes de poder introduzir outro. Isto é chamado de executar o comando no processo principal ou principal. Quando um processo é executado em primeiro plano, ele ocupa o seu shell, e você pode interagir com ele usando os dispositivos de entrada.

E se o comando demorar muito tempo a terminar, e quiser executar outros comandos entretanto? Você tem várias opções à sua disposição., A opção mais óbvia e direta é iniciar uma nova sessão de shell e executar o comando nela. Outra opção é executar o comando em segundo plano.

um processo de fundo é um processo / comando que é iniciado a partir de um terminal e executado em segundo plano, sem interação do Usuário.

neste artigo, vamos falar sobre os processos de fundo são o Linux. Vamos mostrar-lhe como iniciar um comando em segundo plano e como manter o processo em execução após a sessão da shell estar fechada.,

Executar um Comando Linux no plano de Fundo #

Para executar um comando no plano de fundo, adicionar o símbolo de e comercial (&) no final do comando:

command &

O shell de IDENTIFICAÇÃO do trabalho (cercado com parênteses) e o processo de IDENTIFICAÇÃO será impresso no terminal:

 25177

Você pode ter vários processos em execução no plano de fundo ao mesmo tempo.

o processo de fundo continuará a escrever mensagens para o terminal a partir do qual você invocou o comando., To suppress the stdout and stderr messages use the following syntax:

command > /dev/null 2>&1 & 

>/dev/null 2>&1 means redirect stdout to /dev/null and stderr to stdout .,/div>

Para colocar um processo em segundo plano para o primeiro plano, use o fg comando:

fg

Se você tem vários trabalhos em segundo plano, incluem % e a IDENTIFICAÇÃO de trabalho após o comando:

fg %1

Para terminar o processo de plano de fundo, use o kill comando seguido do ID de processo:

kill -9 25177

Mover um Processo de primeiro plano para plano de Fundo #

Para mover a execução de um processo de primeiro plano no plano de fundo:

  1. Parar o processo digitando Ctrl+Z.,
  2. Move o processo parado para o fundo, escrevendo bg.

mantenha os processos de fundo a correr após a saída de uma linha de comandos #

Se a sua ligação cair ou se sair da sessão da linha de comandos, os processos de fundo serão terminados. Existem várias maneiras de manter o processo em execução após o fim da sessão interativa shell.,

é Uma maneira de remover o trabalho a partir do shell de controle de trabalho usando o disown shell internos:

disown

Se você tiver mais de um plano de trabalhos, incluem % e a IDENTIFICAÇÃO de trabalho após o comando:

disown %1

Confirmar que o trabalho é removido da tabela de trabalhos ativos usando o jobs -l comando. Para listar todos os processos em execução, incluindo o deserdado use o comando ps aux.,

outra forma de manter um processo em execução após a saída da linha de comandos é usar nohup.

O comando nohup executa outro programa especificado como seu argumento e ignora todos os sinais SIGHUP (suspensão). SIGHUP é um sinal que é enviado para um processo quando seu terminal de controle é fechado.

Para executar um comando no plano de fundo usando o nohup comando, digite:

nohup command &

A saída do comando é redirecionado para o nohup.out arquivo.,

nohup: ignoring input and appending output to 'nohup.out'

Se você sair ou fechar o terminal, o processo não é terminado.

alternativas #

há um número de programas que lhe permitem ter várias sessões interativas ao mesmo tempo.

Screen #

Screen ou GNU Screen é um programa multiplexador de terminal que lhe permite iniciar uma sessão de ecrã e abrir qualquer número de janelas (terminais virtuais) dentro dessa sessão. Os processos em execução no ecrã continuarão a correr quando a sua janela não estiver visível, mesmo que seja desligado.,

Tmux #

Tmux é uma alternativa moderna à tela GNU. Com o Tmux, você também pode criar uma sessão e abrir várias janelas dentro dessa sessão. As sessões de Tmux são persistentes, o que significa que os programas em execução no Tmux continuam a correr mesmo que você feche o terminal.

Conclusion #

To run a command in the background, include & at the end of the command.

Quando você executa um comando em segundo plano, você não tem que esperar até que ele termine antes que você possa executar outro.

Articles

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *