Como usar nohup no Linux

Como usar nohup no Linux
Imagine se um processo crítico estiver em execução no seu sistema e demorando muito tempo. De repente você precisa sair do seu sistema. Se você sair, seus processos vão parar e você certamente desejará evitar isso. Se você deseja que seu processo de execução seja continuado sem nenhuma interrupção, então você precisa do comando nohup.

Nohup (não significa HuspUp) é um comando que ignora o sinal HUP. Você pode estar se perguntando qual é o sinal HUP. É basicamente um sinal que é entregue a um processo quando o shell associado é encerrado. Geralmente, quando saímos, todos os programas e processos em execução são suspensos ou parados. Se quisermos continuar executando o processo mesmo após o logout ou a desconexão do shell atual, podemos usar o comando Nohup. Isso torna os processos imunes a sinais HUP para fazer o programa funcionar mesmo após o logout. Com nohup, você não precisará mais fazer login por um longo tempo apenas para esperar o processo ser concluído.

Neste artigo, explicaremos como usar o comando Nohup em diferentes cenários no Linux.

Sintaxe do comando nohup

Para usar o comando Nohup, a sintaxe é:

$ NOHUP Argumentos de comando

ou

$ NOHUP OPÇÕES

Para encontrar a ajuda em relação ao comando Nohup, use o seguinte comando:

$ NOHUP -Help

Para encontrar as informações da versão do Nohup, use o seguinte comando:

$ nohup -versão

Inicie um processo usando Nohup

Se você deseja manter um comando ou processo em execução, mesmo se você sair do shell, use o Nohup seguido pelo comando para executar:

$ Nohup comando

Depois de executar o comando acima, toda a saída, juntamente com as mensagens de erro, será adicionada ao Nohup.OUT FILE no diretório doméstico ou no diretório atual. Agora, se o shell estiver fechado ou você se sair, o comando acima executado não será encerrado.

Redirecionar a saída para um arquivo diferente

Por padrão, a saída do comando Nouhup é adicionada ao Nohup.arquivo out. Para redirecionar essa saída para algum outro arquivo, use> Operador de redirector seguido pelo nome do arquivo específico. Por exemplo, usamos o seguinte comando para salvar a saída do comando Nohup em um novo arquivo chamado “MyScript.sh ”.

$ sudo nohup ./mn.sh> myscipt.sh &

Inicie um processo em segundo plano usando nohup

Para iniciar e colocar o processo em segundo plano, você precisará usar o NOHUP da seguinte maneira:

$ NOHUP Comando &

O & O símbolo diz ao shell para executar o comando em segundo plano. É semelhante ao comando Nohup acima, exceto que, quando a sessão termina, ele retorna imediatamente ao prompt do shell. Para trazê -lo de volta à vanguarda, use o comando "FG".

A saída de todos os comandos que você executa será anexada ao Nohup.arquivo out. Você pode visualizar este arquivo usando o comando Cat Nohup no terminal. O número 80132 Na captura de tela acima indica o número de identificação do processo (PID) do processo em execução em segundo plano.

Inicie vários processos em segundo plano usando nohup

Você pode executar vários comandos em segundo plano usando o comando Nohup. No exemplo seguinte, os comandos MKDIR, PING e LS são executados em segundo plano usando o comando Nohup.

$ NOHUP BASH -C 'MKDIR FILOS &&
ping -c 1 google.com && ls '> saída.TXT

Encerrar o processo em execução em segundo plano

Para encerrar um processo em execução em segundo plano, use o comando Kill da seguinte maneira:

$ kill -9 pid

Você encontrará o PID de um processo ao usar o Nohup com "&". Outra maneira de encontrar o PID é através do comando PGREP -A. Por exemplo, se você executou o comando ping com nohup, ele continuará funcionando em segundo plano, mesmo se você fechar o shell. Agora, neste caso, para encontrar o PID de um processo de ping em execução em segundo plano, use este comando:

$ PGREP -um ping

Ele listará todos os processos associados ao comando ping.

Agora, para encerrar o processo de ping em execução em segundo plano, use o comando Kill da seguinte. O comando nohup é usado para impedir que um processo importante seja encerrado quando você se aproxima ou fecha a sessão. Ajuda muito quando você está executando um processo, especialmente scripts que levam muito tempo para concluir.