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.