Como executar comandos Linux em segundo plano

Como executar comandos Linux em segundo plano

Executar comandos Linux em segundo plano permite que o usuário continue executando outras tarefas enquanto o comando ainda está em execução. Para executar um comando em segundo plano, existem várias maneiras; Um dos métodos simples é adicionar um ampersand (&) no final da linha de comando.

Depois que um processo é definido para ser executado em segundo plano, podemos acessá -lo usando o empregos comando. Este artigo apresenta todas as maneiras diferentes de executar um comando em segundo plano.

A lista de maneiras diferentes de executar um processo em segundo plano é a seguinte:

    • Adicionando ampersand (&) sinal
    • Usando o comando bg
    • Usando o comando Nohup
    • Usando o comando degressão
    • Usando o utilitário tmux

A seguir, os detalhes de todos os métodos para executar um processo em segundo plano:

1: Usando o sinal de AMPERSAND (&)

No Linux AMPERSand (&) é um operador de shell que envia um comando em segundo plano como um processo separado. Ao combinar o AMPERSand (&) a um comando, ele será executado como um processo de fundo, permitindo que o shell continue processando outros comandos imediatamente.

Sintaxe para um processo em segundo plano usando amperes e sinal:

$ [comando] &


O símbolo de ampérs e é sempre adicionado no final do comando com um único espaço entre "&" e último caráter de comando.

Por exemplo, crie um processo de sono para 40 s.

$ Sleep 40


Como podemos ver, o terminal está executando o comando do sono e não nos permitindo executar qualquer outra tarefa.


Agora pressione “Ctrl + Z” Para parar este processo. Em seguida, executaremos o mesmo comando de sono desta vez, mas usando um operador de e -res e com ele configurará em segundo plano.

$ Sleep 40 &



Agora esse processo está em segundo plano. Para listar o processo de execução do plano de execução: Use:

$ jobs -l



Agora mate este processo de fundo usando:

$ Kill -9 [Job -id]


Por exemplo, para matar o atual uso do processo de sono em execução:

$ kill -9 6149


Agora o processo de sono é morto para confirmar a lista do processo de execução de fundo usando.

$ jobs -l



Aqui está outro exemplo de uso & ampersand O sinal é com o comando gedit.

Por exemplo, se abrirmos o editor de texto do Gedit diretamente usando o terminal, seremos obrigados a usar o shell para outro trabalho ou então precisamos interromper o processo atual primeiro.

$ gedit


O uso do comando acima abrirá o editor de texto que o abrirá na frente do terminal.


Mas depois de usar "&" no final do comando gedit, o shell é livre para usar para outros processos:

$ gedit &


2: Usando o comando 'BG'

O comando BG é a segunda maneira de executar comandos em segundo plano. Este comando permite que o usuário continue trabalhando no terminal enquanto o processo é executado em segundo plano, liberando o terminal para outras tarefas. O comando bg é usado para um processo de fundo de longa execução que é executado se o usuário efetuar login.

Como um ampersa e sinal de que não precisamos nos preocupar em adicioná -lo ao comando toda vez que envie texto BG para o terminal. Ele começará a executar o processo em segundo plano e libertar o terminal para uso futuro.

Por exemplo, vamos usar o exemplo anterior e enviar o comando do sono usando:

$ Sleep 40



Agora o processo está em execução e o terminal não está disponível para uso. Para usar o comando bg e enviar esse processo em segundo plano, devemos primeiro interromper o processo de execução atual pressionando “Ctrl+ Z” e executando este comando:

$ bg


Depois de enviar o comando bg, o processo de sono começou a continuar em segundo plano. Podemos ver um ampers e "&" no final, indicando que o processo atual está em segundo plano.


Para verificar o comando do processo em segundo plano, execute o comando jobs:

$ jobs -l



Para verificar o comando executado em fundo, use:

$ fg



Para matar o processo atual, use seu ID de trabalho com o comando Kill. Para verificar os trabalhos ID, execute:

$ jobs -l



Depois de conhecer o processo de Kill ID de Jobs usando:

$ Kill -9 [Job -id]


Por exemplo, para matar o uso atual do processo de sono em execução:

$ kill -9 6584


Para confirmar se o processo foi morto ou não, execute novamente o comando Jobs:

$ jobs -l


Podemos ver que o processo de sono não está mais funcionando em segundo plano:

3: Usando o comando Nohup

O comando Nohup é o terceiro em nossa lista de processos de fundo em execução no Linux. O comando significa "sem desligamento" e é usado para impedir que o processo seja encerrado até o término da sessão do terminal. Quando um processo é executado usando nohup, ele continua a ser executado mesmo que o usuário faça login e a saída do processo é redirecionada para um arquivo nomeado “Nohup.fora".

O comando Nohup para ping no Google continuamente em segundo plano é e a saída é redirecionada para um arquivo de texto no Googleping.TXT:

$ nohup ping google.com> googleping.TXT &


Depois de escrever este comando, podemos ver que o terminal é gratuito e um processo em segundo plano para ping no Google continuamente está em execução em segundo plano.


Para acessar o arquivo de log, podemos usar o seguinte comando:

$ CAT Googleping.TXT



O arquivo de log também pode ser acessado usando a GUI na tela inicial.

4: Usando o comando DisOwn

O comando decelown remove um processo do shell e o executa em segundo plano. Quando um processo é renegado, ele não está mais associado ao terminal e continua a ser executado mesmo depois que o usuário registra ou fecha o terminal.

Anteriormente, usamos o comando ampers e “&” que envia o processo em segundo plano após sua execução, mas quando fechamos o shell, o processo é encerrado. Para se livrar deste comando degradado está lá.

O comando decepto não pode funcionar de forma independente, mas no mínimo um processo deve estar em execução em segundo plano.

Execute o comando abaixo com um & ampers e sinal que enviará seu comando para o fundo.

$ ping google.com> googleping.TXT &


Depois que o arquivo for criado, podemos listá -lo usando o comando Jobs.


Agora, nosso processo está em segundo plano para destacá -lo do uso do terminal:

$ Dened



Execute o comando Jobs novamente para confirmar que o processo é destacado do terminal:

$ jobs -l


Como nosso processo está sendo executado atualmente, mas não é mais mostrado dentro do terminal:


Para confirmar nosso processo, podemos usar o comando CAT para acessar esse arquivo de ping:

$ CAT Googleping.TXT



Desfaiecionamos com sucesso esse processo do terminal, mas ele ainda está funcionando em segundo plano.

5: Usando o utilitário tmux

TMUX é um tipo de utilitário de multiplexador de terminal. Usando o TMUX, podemos criar várias sessões de terminal em um único shell. Ele fornece a capacidade de executar processos em segundo plano.

Para executar um processo em segundo plano no TMUX, você pode criar uma nova sessão e depois se destacar usando a combinação de chave Ctrl-B seguida por D.

Para instalar o utilitário tmux no Ubuntu e Linux Mint Uso:

$ sudo apt install tmux



Para instalar no Fedora Run:

$ sudo dnf install tmux


Para instalar no Arch Linux Run:

$ sudo pacman -s tmux


Agora execute o comando tmux para abrir um novo terminal:

$ tmux


Para criar uma nova sessão TMUX Use:

$ tmux novo -s [session_id]


Para listar todo o uso da sessão do TMUX:

$ tmux ls


Para matar um comando tmux session, use como:

$ tmux kill -session -t [session_id]


Por exemplo, para matar "0" Uso da sessão tmux:

$ tmux kill -session -t 0


Aqui listamos a atual sessão ativa do TMUX em execução e a matamos usando o comando acima:


    • Para se destacar da imprensa da TMUX Session “Ctrl+B+D”.
    • Para obter uma lista de todos os comandos, pressione “Ctrl+B+?”.
    • Para mudar entre o TMUX Windows Press “Ctrl+B+O”.

Para dividir o terminal tmux verticalmente, pressione “Ctrl+B” e tipo %.


Para voltar ao terminal principal de tmux usar:

$ saída

Conclusão

A execução de aplicativos de segundo plano no Linux é um recurso poderoso que permite aos usuários manter suas tarefas de longa duração em execução, mesmo depois de sair do terminal ou fechar a janela. Geralmente um ampersand e sinal ou bg O comando é usado para enviar um processo em segundo plano. No entanto, também podemos usar nohup ou Denem comando para destacar um processo do terminal. Por fim, podemos usar o utilitário tmux Para criar vários terminais e executar processos de fundo sem perturbar o terminal.